cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andres de la Peña (Jira) <>
Subject [jira] [Commented] (CASSANDRA-16818) Fix usage instructions about sstabledump -k and -x options
Date Fri, 30 Jul 2021 15:14:00 GMT


Andres de la Peña commented on CASSANDRA-16818:

There were some CI test failures while checking {{assertSchemaNotLoaded}} with Java 11 that
neither [~e.dimitrova] nor me have been able to reproduce locally. It seems that the loading
of {{Schema}} class in the test cases that use {{TableMetadata}} might or might not load that
class depending on the JVM version. I have changed the tests back to their previous form where
that check is only done for the test cases where {{TableMetadata}} is used, adding a brief
comment warning about the issue:

> Fix usage instructions about sstabledump -k and -x options
> ----------------------------------------------------------
>                 Key: CASSANDRA-16818
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Tool/sstable
>            Reporter: Andres de la Peña
>            Assignee: Andres de la Peña
>            Priority: Normal
>             Fix For: 3.0.x, 3.11.x, 4.0.x, 4.x
>          Time Spent: 20m
>  Remaining Estimate: 0h
> 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

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message