This is an automated email from the ASF dual-hosted git repository.

brandonwilliams pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 00e5431d64 Upgrade commons cli to 1.5.0
00e5431d64 is described below

commit 00e5431d64a28b17ffd0d3a62b7c01ea0ea32aaa
Author: timothytu12 <timmy.tu2...@gmail.com>
AuthorDate: Mon Jul 17 12:45:47 2023 -0400

    Upgrade commons cli to 1.5.0
    
    Patch by Timothy Tu; reviewed by bereng and brandonwilliams for
    CASSANDRA-18659
---
 .build/parent-pom-template.xml                     |  2 +-
 CHANGES.txt                                        |  1 +
 .../managing/tools/sstable/sstablemetadata.adoc    |  1 +
 .../cassandra/tools/SSTableMetadataViewer.java     |  5 +++++
 .../apache/cassandra/tools/AuditLogViewerTest.java |  6 +++---
 .../apache/cassandra/tools/HashPasswordTest.java   |  8 +++++---
 .../apache/cassandra/tools/SSTableExportTest.java  |  1 -
 .../cassandra/tools/SSTableMetadataViewerTest.java |  7 ++++---
 .../cassandra/tools/SSTablePartitionsTest.java     | 13 ++++++------
 .../cassandra/tools/StandaloneScrubberTest.java    | 24 +++++++++++-----------
 .../cassandra/tools/StandaloneVerifierTest.java    |  6 ++++--
 11 files changed, 43 insertions(+), 31 deletions(-)

diff --git a/.build/parent-pom-template.xml b/.build/parent-pom-template.xml
index 3eaa9ba3af..a57739f963 100644
--- a/.build/parent-pom-template.xml
+++ b/.build/parent-pom-template.xml
@@ -306,7 +306,7 @@
       <dependency>
         <groupId>commons-cli</groupId>
         <artifactId>commons-cli</artifactId>
-        <version>1.1</version>
+        <version>1.5.0</version>
       </dependency>
       <dependency>
         <groupId>commons-codec</groupId>
diff --git a/CHANGES.txt b/CHANGES.txt
index 996c938f00..178ed2b5ae 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 5.0
+ * Upgrade commons cli to 1.5.0 (CASSANDRA-18659)
  * Disable the deprecated keyspace/table thresholds and convert them to 
guardrails (CASSANDRA-18617)
  * Deprecate CloudstackSnitch and remove duplicate code in snitches 
(CASSANDRA-18438)
  * Add support for vectors in UDFs (CASSANDRA-18613)
diff --git 
a/doc/modules/cassandra/pages/managing/tools/sstable/sstablemetadata.adoc 
b/doc/modules/cassandra/pages/managing/tools/sstable/sstablemetadata.adoc
index 6eab727348..03cd3cd81d 100644
--- a/doc/modules/cassandra/pages/managing/tools/sstable/sstablemetadata.adoc
+++ b/doc/modules/cassandra/pages/managing/tools/sstable/sstablemetadata.adoc
@@ -18,6 +18,7 @@ sstablemetadata <options> <sstable filename(s)>
 |===
 |--colors                 |Use ANSI color sequences
 |--gc_grace_seconds <arg> |The gc_grace_seconds to use when calculating
+|--help                   |Help
 |--scan                   |Full sstable scan for additional details. Only 
available in 3.0+ sstables. Defaults: false
 |--timestamp_unit <arg>   |Time unit that cell timestamps are written with
 |--unicode                |Use unicode to draw histograms and progress bars
diff --git a/src/java/org/apache/cassandra/tools/SSTableMetadataViewer.java 
b/src/java/org/apache/cassandra/tools/SSTableMetadataViewer.java
index 2f3e39be8b..aa5cfbff25 100644
--- a/src/java/org/apache/cassandra/tools/SSTableMetadataViewer.java
+++ b/src/java/org/apache/cassandra/tools/SSTableMetadataViewer.java
@@ -83,6 +83,7 @@ public class SSTableMetadataViewer
     private static final String GCGS_KEY = "g";
     private static final String TIMESTAMP_UNIT = "t";
     private static final String SCAN = "s";
+    private static final String HELP = "h";
     private static final Comparator<ValuedByteBuffer> VCOMP = 
Comparator.comparingLong(ValuedByteBuffer::getValue).reversed();
 
     static
@@ -517,6 +518,10 @@ public class SSTableMetadataViewer
         tsUnit.setOptionalArg(true);
         options.addOption(tsUnit);
 
+        Option help = new Option(HELP, "help", false, "Help");
+        help.setOptionalArg(true);
+        options.addOption(help);
+
         Option scanEnabled = new Option(SCAN, "scan", false,
                 "Full sstable scan for additional details. Only available in 
3.0+ sstables. Defaults: false");
         scanEnabled.setOptionalArg(true);
diff --git a/test/unit/org/apache/cassandra/tools/AuditLogViewerTest.java 
b/test/unit/org/apache/cassandra/tools/AuditLogViewerTest.java
index 514857efc2..76ed9ba04b 100644
--- a/test/unit/org/apache/cassandra/tools/AuditLogViewerTest.java
+++ b/test/unit/org/apache/cassandra/tools/AuditLogViewerTest.java
@@ -96,9 +96,9 @@ public class AuditLogViewerTest
                        "                         indefinitely waiting for more 
records\n" + 
                        " -h,--help               display this help message\n" 
+ 
                        " -i,--ignore             Silently ignore unsupported 
records\n" + 
-                       " -r,--roll_cycle <arg>   How often to roll the log 
file was rolled. May be\n" + 
-                       "                         necessary for Chronicle to 
correctly parse file names. (MINUTELY, HOURLY,\n" + 
-                       "                         DAILY). Default HOURLY.\n";
+                       " -r,--roll_cycle <arg>   How often to roll the log 
file was rolled. May be\n" +
+                       "                         necessary for Chronicle to 
correctly parse file\n" +
+                       "                         names. (MINUTELY, HOURLY, 
DAILY). Default HOURLY.\n";
         Assertions.assertThat(tool.getStdout()).isEqualTo(help);
     }
 
diff --git a/test/unit/org/apache/cassandra/tools/HashPasswordTest.java 
b/test/unit/org/apache/cassandra/tools/HashPasswordTest.java
index f84bd8b6d1..3c2b78b71d 100644
--- a/test/unit/org/apache/cassandra/tools/HashPasswordTest.java
+++ b/test/unit/org/apache/cassandra/tools/HashPasswordTest.java
@@ -59,9 +59,11 @@ public class HashPasswordTest extends CQLTester
                        "                              variable as the 
password\n" +
                        " -h,--help                    Display this help 
message\n" +
                        " -i,--input <arg>             Input is a file (or - 
for stdin) to read the\n" +
-                       "                              password from. Make sure 
that the whole input including newlines is\n" +
-                       "                              considered. For example, 
the shell command 'echo -n foobar | hash_password\n" +
-                       "                              -i -' will work as 
intended and just hash 'foobar'.\n" +
+                       "                              password from. Make sure 
that the whole\n" +
+                       "                              input including newlines 
is considered. For\n" +
+                       "                              example, the shell 
command 'echo -n foobar |\n" +
+                       "                              hash_password -i -' will 
work as intended\n" +
+                       "                              and just hash 
'foobar'.\n" +
                        " -p,--plain <arg>             Argument is the plain 
text password\n" +
                        " -r,--logrounds <arg>         Number of hash rounds 
(default: 10).\n";
         assertEquals(help, tool.getStdout());
diff --git a/test/unit/org/apache/cassandra/tools/SSTableExportTest.java 
b/test/unit/org/apache/cassandra/tools/SSTableExportTest.java
index 3a4ead493b..2a29664a9a 100644
--- a/test/unit/org/apache/cassandra/tools/SSTableExportTest.java
+++ b/test/unit/org/apache/cassandra/tools/SSTableExportTest.java
@@ -58,7 +58,6 @@ public class SSTableExportTest extends OfflineToolUtils
         // If you added, modified options or help, please update docs if 
necessary
         ToolResult tool = ToolRunner.invokeClass(SSTableExport.class);
         String help = "usage: sstabledump <sstable file path> <options>\n" +
-                       "                   \n" +
                        "Dump contents of given SSTable to standard output in 
JSON format.\n" +
                        " -d         CQL row per line internal 
representation\n" +
                        " -e         enumerate partition keys only\n" +
diff --git 
a/test/unit/org/apache/cassandra/tools/SSTableMetadataViewerTest.java 
b/test/unit/org/apache/cassandra/tools/SSTableMetadataViewerTest.java
index 6728fdf391..1dd4e78d8f 100644
--- a/test/unit/org/apache/cassandra/tools/SSTableMetadataViewerTest.java
+++ b/test/unit/org/apache/cassandra/tools/SSTableMetadataViewerTest.java
@@ -69,13 +69,14 @@ public class SSTableMetadataViewerTest extends 
OfflineToolUtils
         // If you added, modified options or help, please update docs if 
necessary
         ToolResult tool = ToolRunner.invokeClass(SSTableMetadataViewer.class, 
"-h");
         assertEquals("You must supply at least one sstable\n" + 
-                     "usage: sstablemetadata <options> <sstable...> [-c] [-g 
<arg>] [-s] [-t <arg>] [-u]\n" + 
+                     "usage: sstablemetadata <options> <sstable...> [-c] [-g 
<arg>] [-h] [-s] [-t <arg>] [-u]\n" +
                      "\n" + 
                      "Dump information about SSTable[s] for Apache Cassandra 
3.x\n" + 
                      "Options:\n" + 
                      "  -c,--colors                 Use ANSI color 
sequences\n" + 
-                     "  -g,--gc_grace_seconds <arg> Time to use when 
calculating droppable tombstones\n" + 
-                     "  -s,--scan                   Full sstable scan for 
additional details. Only available in 3.0+ sstables. Defaults: false\n" + 
+                     "  -g,--gc_grace_seconds <arg> Time to use when 
calculating droppable tombstones\n" +
+                     "  -h,--help                   Help\n" +
+                     "  -s,--scan                   Full sstable scan for 
additional details. Only available in 3.0+ sstables. Defaults: false\n" +
                      "  -t,--timestamp_unit <arg>   Time unit that cell 
timestamps are written with\n" + 
                      "  -u,--unicode                Use unicode to draw 
histograms and progress bars\n\n" 
                      , tool.getCleanedStderr());
diff --git a/test/unit/org/apache/cassandra/tools/SSTablePartitionsTest.java 
b/test/unit/org/apache/cassandra/tools/SSTablePartitionsTest.java
index 247fa8a1e6..d5bc8a59d9 100644
--- a/test/unit/org/apache/cassandra/tools/SSTablePartitionsTest.java
+++ b/test/unit/org/apache/cassandra/tools/SSTablePartitionsTest.java
@@ -130,7 +130,6 @@ public class SSTablePartitionsTest extends OfflineToolUtils
         ToolResult tool = ToolRunner.invokeClass(SSTablePartitions.class);
         Assertions.assertThat(tool.getStdout())
                   .isEqualTo("usage: sstablepartitions <options> <sstable 
files or directories>\n" +
-                             "                         \n" +
                              "Print partition statistics of one or more 
sstables.\n" +
                              " -b,--backups                   include backups 
present in data\n" +
                              "                                directories 
(recursive scans)\n" +
@@ -142,16 +141,18 @@ public class SSTablePartitionsTest extends 
OfflineToolUtils
                              " -s,--snapshots                 include 
snapshots present in data\n" +
                              "                                directories 
(recursive scans)\n" +
                              " -t,--min-size <arg>            partition size 
threshold, expressed as\n" +
-                             "                                either the 
number of bytes or a size with unit of the form 10KiB, 20MiB,\n" +
-                             "                                30GiB, etc.\n" +
+                             "                                either the 
number of bytes or a size with\n" +
+                             "                                unit of the form 
10KiB, 20MiB, 30GiB, etc.\n" +
                              " -u,--current-timestamp <arg>   timestamp 
(seconds since epoch, unit time)\n" +
                              "                                for TTL expired 
calculation\n" +
                              " -w,--min-rows <arg>            partition row 
count threshold\n" +
                              " -x,--exclude-key <arg>         Excluded 
partition key(s) from partition\n" +
-                             "                                detailed 
row/cell/tombstone information (irrelevant, if --partitions-only\n" +
-                             "                                is given)\n" +
+                             "                                detailed 
row/cell/tombstone information\n" +
+                             "                                (irrelevant, if 
--partitions-only is\n" +
+                             "                                given)\n" +
                              " -y,--partitions-only           Do not process 
per-partition detailed\n" +
-                             "                                
row/cell/tombstone information, only brief information\n");
+                             "                                
row/cell/tombstone information, only brief\n" +
+                             "                                information\n");
     }
 
     /**
diff --git a/test/unit/org/apache/cassandra/tools/StandaloneScrubberTest.java 
b/test/unit/org/apache/cassandra/tools/StandaloneScrubberTest.java
index 062f7fa992..bf8e876a5f 100644
--- a/test/unit/org/apache/cassandra/tools/StandaloneScrubberTest.java
+++ b/test/unit/org/apache/cassandra/tools/StandaloneScrubberTest.java
@@ -50,22 +50,22 @@ public class StandaloneScrubberTest extends OfflineToolUtils
                        "    --debug                     display stack 
traces\n" + 
                        " -e,--header-fix <arg>          Option whether and how 
to perform a check of the sstable serialization-headers and fix\n" + 
                        "                                known, fixable 
issues.\n" + 
-                       "                                Possible argument 
values:\n" + 
-                       "                                - validate-only: 
validate the serialization-headers, but do not fix those. Do not continue with 
scrub - i.e. only\n" + 
-                       "                                validate the header 
(dry-run of fix-only).\n" + 
-                       "                                - validate: (default) 
validate the serialization-headers, but do not fix those and only continue with 
scrub if no error\n" + 
-                       "                                were detected.\n" + 
-                       "                                - fix-only: validate 
and fix the serialization-headers, don't continue with scrub.\n" + 
-                       "                                - fix: validate and 
fix the serialization-headers, do not fix and do not continue with scrub if the 
serialization-header\n" + 
-                       "                                check encountered 
errors.\n" + 
+                       "                                Possible argument 
values:\n" +
+                       "                                - validate-only: 
validate the serialization-headers, but do not fix those. Do not\n" +
+                       "                                continue with scrub - 
i.e. only validate the header (dry-run of fix-only).\n" +
+                       "                                - validate: (default) 
validate the serialization-headers, but do not fix those and only\n" +
+                       "                                continue with scrub if 
no error were detected.\n" +
+                       "                                - fix-only: validate 
and fix the serialization-headers, don't continue with scrub.\n" +
+                       "                                - fix: validate and 
fix the serialization-headers, do not fix and do not continue with\n" +
+                       "                                scrub if the 
serialization-header check encountered errors.\n" +
                        "                                - off: don't perform 
the serialization-header checks.\n" + 
                        " -h,--help                      display this help 
message\n" + 
                        " -m,--manifest-check            only check and repair 
the leveled manifest, without actually scrubbing the sstables\n" + 
                        " -n,--no-validate               do not validate 
columns using column validator\n" + 
-                       " -r,--reinsert-overflowed-ttl   Rewrites rows with 
overflowed expiration date affected by CASSANDRA-14092 with the\n" + 
-                       "                                maximum supported 
expiration date of 2038-01-19T03:14:06+00:00. The rows are rewritten with the 
original timestamp\n" +
-                       "                                incremented by one 
millisecond to override/supersede any potential tombstone that may have been 
generated during\n" + 
-                       "                                compaction of the 
affected rows.\n" + 
+                       " -r,--reinsert-overflowed-ttl   Rewrites rows with 
overflowed expiration date affected by CASSANDRA-14092 with the\n" +
+                       "                                maximum supported 
expiration date of 2038-01-19T03:14:06+00:00. The rows are rewritten\n" +
+                       "                                with the original 
timestamp incremented by one millisecond to override/supersede any\n" +
+                       "                                potential tombstone 
that may have been generated during compaction of the affected rows.\n" +
                        " -s,--skip-corrupted            skip corrupt rows in 
counter tables\n" + 
                        " -v,--verbose                   verbose output\n";
         Assertions.assertThat(tool.getStdout()).isEqualTo(help);
diff --git a/test/unit/org/apache/cassandra/tools/StandaloneVerifierTest.java 
b/test/unit/org/apache/cassandra/tools/StandaloneVerifierTest.java
index f94a5d6b3b..44b294b2ad 100644
--- a/test/unit/org/apache/cassandra/tools/StandaloneVerifierTest.java
+++ b/test/unit/org/apache/cassandra/tools/StandaloneVerifierTest.java
@@ -62,9 +62,11 @@ public class StandaloneVerifierTest extends OfflineToolUtils
                        " -h,--help                   display this help 
message\n" +
                        " -q,--quick                  do a quick check, don't 
read all data\n" + 
                        " -r,--mutate_repair_status   don't mutate repair 
status\n" + 
-                       " -t,--token_range <range>    long token range of the 
format left,right.\n" + 
-                       "                             This may be provided 
multiple times to define multiple different ranges\n" + 
+                       " -t,--token_range <range>    long token range of the 
format left,right.\n" +
+                       "                             This may be provided 
multiple times to define\n" +
+                       "                             multiple different 
ranges\n" +
                        " -v,--verbose                verbose output\n";
+
         Assertions.assertThat(tool.getStdout()).isEqualTo(help);
     }
 


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to