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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]