4646import  org .slf4j .LoggerFactory ;
4747
4848import  org .apache .commons .lang3 .StringUtils ;
49+ import  org .apache .commons .lang3 .time .DurationFormatUtils ;
4950import  org .apache .hadoop .classification .InterfaceAudience ;
5051import  org .apache .hadoop .classification .InterfaceStability ;
5152import  org .apache .hadoop .conf .Configuration ;
@@ -758,8 +759,8 @@ public int run(String[] args, PrintStream out) throws Exception {
758759   */ 
759760  static  class  Destroy  extends  S3GuardTool  {
760761    public  static  final  String  NAME  = "destroy" ;
761-     public  static  final  String  PURPOSE  = "destroy Metadata Store data  " 
762-         + DATA_IN_S3_IS_PRESERVED ;
762+     public  static  final  String  PURPOSE  = "destroy the  Metadata Store including its " 
763+         + " contents"  +  DATA_IN_S3_IS_PRESERVED ;
763764    private  static  final  String  USAGE  = NAME  + " [OPTIONS] [s3a://BUCKET]\n "  +
764765        "\t "  + PURPOSE  + "\n \n "  +
765766        "Common options:\n "  +
@@ -1252,7 +1253,7 @@ public static class BucketInfo extends S3GuardTool {
12521253
12531254    @ VisibleForTesting 
12541255    public  static  final  String  IS_MARKER_AWARE  =
1255-         "The  S3A connector is compatible with buckets where" 
1256+         "\t The  S3A connector is compatible with buckets where" 
12561257            + " directory markers are not deleted" ;
12571258
12581259    public  BucketInfo (Configuration  conf ) {
@@ -1328,8 +1329,9 @@ public int run(String[] args, PrintStream out)
13281329        authMode  = conf .getBoolean (METADATASTORE_AUTHORITATIVE , false );
13291330        final  long  ttl  = conf .getTimeDuration (METADATASTORE_METADATA_TTL ,
13301331            DEFAULT_METADATASTORE_METADATA_TTL , TimeUnit .MILLISECONDS );
1331-         println (out , "\t Metadata time to live: %s=%s milliseconds" ,
1332-             METADATASTORE_METADATA_TTL , ttl );
1332+         println (out , "\t Metadata time to live: (set in %s) = %s" ,
1333+             METADATASTORE_METADATA_TTL ,
1334+             DurationFormatUtils .formatDurationHMS (ttl ));
13331335        printStoreDiagnostics (out , store );
13341336      } else  {
13351337        println (out , "Filesystem %s is not using S3Guard" , fsUri );
@@ -1463,10 +1465,18 @@ public int run(String[] args, PrintStream out)
14631465    private  void  processMarkerOption (final  PrintStream  out ,
14641466        final  S3AFileSystem  fs ,
14651467        final  String  marker ) {
1468+       println (out , "%nSecurity" );
14661469      DirectoryPolicy  markerPolicy  = fs .getDirectoryMarkerPolicy ();
14671470      String  desc  = markerPolicy .describe ();
1468-       println (out , "%nThe directory marker policy is \" %s\" %n" , desc );
1469- 
1471+       println (out , "\t The directory marker policy is \" %s\" " , desc );
1472+ 
1473+       String  pols  = DirectoryPolicyImpl .availablePolicies ()
1474+           .stream ()
1475+           .map (DirectoryPolicy .MarkerPolicy ::getOptionName )
1476+           .collect (Collectors .joining (", " ));
1477+       println (out , "\t Available Policies: %s" , pols );
1478+       printOption (out , "\t Authoritative paths" ,
1479+           AUTHORITATIVE_PATH , "" );
14701480      DirectoryPolicy .MarkerPolicy  mp  = markerPolicy .getMarkerPolicy ();
14711481
14721482      String  desiredMarker  = marker  == null 
@@ -1478,12 +1488,6 @@ private void processMarkerOption(final PrintStream out,
14781488          // simple awareness test -provides a way to validate compatibility 
14791489          // on the command line 
14801490          println (out , IS_MARKER_AWARE );
1481-           String  pols  = DirectoryPolicyImpl .availablePolicies ()
1482-               .stream ()
1483-               .map (DirectoryPolicy .MarkerPolicy ::getOptionName )
1484-               .collect (Collectors .joining (", " ));
1485-           println (out , "Available Policies: %s" , pols );
1486- 
14871491        } else  {
14881492          // compare with current policy 
14891493          if  (!optionName .equalsIgnoreCase (desiredMarker )) {
0 commit comments