cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andres de la Peña (Jira) <j...@apache.org>
Subject [jira] [Created] (CASSANDRA-16818) Fix usage instructions about sstabledump -k and -x options
Date Wed, 28 Jul 2021 16:11:00 GMT
Andres de la Peña created CASSANDRA-16818:
---------------------------------------------

             Summary: Fix usage instructions about sstabledump -k and -x options
                 Key: CASSANDRA-16818
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-16818
             Project: Cassandra
          Issue Type: Bug
          Components: Tool/sstable
            Reporter: Andres de la Peña
            Assignee: Andres de la Peña


The options {{-k}} and {{-x}} of {{sstabledump}} admit multiple arguments, so users can
include or exclude multiple partitions. The intended usage is, for example:
{code:java}
$ sstablepartitions <sstable_path> -k 1
$ sstablepartitions <sstable_path> -k 1 2 3
{code}
However, the following command will fail:
{code:java}
$ sstablepartitions -k 1 <sstable_path>
You must supply exactly one sstable
usage: sstabledump <sstable file path> <options>

Dump contents of given SSTable to standard output in JSON format.
 -d         CQL row per line internal representation
 -e         enumerate partition keys only
 -k <arg>   Partition key
 -t         Print raw timestamps instead of iso8601 date strings
 -x <arg>   Excluded partition key
{code}
This command fails because the sstable path is considered a fourth partition key, and the
mandatory argument for the sstable path is missed. While I think this behaviour is correct,
it can be a bit confusing for users, especially when the information about usage describes
both {{-k}} and {{-x}} as single-argument.

I think that at least we should fix the description of the options to indicate that there
could be multiple included/excluded keys, and probably improve the message about the missing
sstable path when those options are used.

Alternatively we could modify the options to have a single argument and allow to repeat them,
so we could accept things like:
{code:java}
$ sstablepartitions -k 1 <sstable_path>
$ sstablepartitions -k 1 -k 2 -k 3 <sstable_path>
$ sstablepartitions <sstable_path> -k 1 -k 2 -k 3
{code}
The main downside of the latter approach is that the change in the syntax of the command might
cause compatibility issues. Also we would need to upgrade {{commons-cli}} to at least 1.2
due to CLI-137.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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


Mime
View raw message