Brad Schoening created CASSANDRA-18661:
------------------------------------------

             Summary: Update to cassandra-stress to use Apache Commons CLI
                 Key: CASSANDRA-18661
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-18661
             Project: Cassandra
          Issue Type: Improvement
          Components: Tool/stress
            Reporter: Brad Schoening


The Apache Commons CLI library provides an API for parsing command line options 
with the package org.apache.commons.cli and this is already used by a dozen of 
existing Cassandra utilities including:
{quote}SSTableMetadataViewer, StandaloneScrubber, StandaloneSplitter, 
SSTableExport, BulkLoader, and others.{quote}
However, cassandra-stress is an outlier which uses its own custom classes to 
parse command line options with classes such as OptionsSimple.  In addition, 
the options syntax for username, password, and others are not aligned with the 
format used by CQLSH.
 
This suggestion is to:
 
a) Upgrade cassandra-stress to use Apache Commons CLI (no new dependencies are 
required as this library is already used by the project)
 
b) Align the cassandra-stress CLI options with those in CQLSH, 
 
{quote}For example, using the new syntax like CQLSH:{quote}
{quote}{quote}cassandra-stress -username foo -password bar{quote}
and replacing the old syntax:{quote}
{quote}{quote}cassandra-stress -mode username=foo and password=bar{quote}{quote}
 
This will simplify and unify the code base, eliminate code and reduce the 
confusion between similar named classes such as 
org.apache.cassandra.stress.settings.\{Option, OptionsMulti, OptionsSimple} and 
org.apache.commons.cli.{Option, OptionGroup, Options)
 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to