[
https://issues.apache.org/jira/browse/CASSANDRA-20793?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18013155#comment-18013155
]
Mohammad Suhel Ksolves Cassandra Experties edited comment on CASSANDRA-20793 at
8/20/25 10:25 AM:
--------------------------------------------------------------------------------------------------
Hi [~mmuzaf], I noticed this ticket is still in {_}Triage Needed{_}. I would be
happy to take this up, could you confirm if it’s valid to proceed so I can
start working on it?
cc [~stefan.miklosovic]
was (Author: suhel):
Hi [~mmuzaf], I noticed this ticket is still in {_}Triage Needed{_}. I would be
happy to take this up, could you confirm if it’s valid to proceed so I can
start working on it?
> Improve compact nodetool command to comply with standards by splitting into
> separate subcommands
> ------------------------------------------------------------------------------------------------
>
> Key: CASSANDRA-20793
> URL: https://issues.apache.org/jira/browse/CASSANDRA-20793
> Project: Apache Cassandra
> Issue Type: Improvement
> Components: Tool/nodetool
> Reporter: Maxim Muzafarov
> Assignee: Mohammad Suhel Ksolves Cassandra Experties
> Priority: Normal
>
> The current compact command violates picocli best practices by mixing
> different types of arguments in a single command. The command currently
> accepts three distinct types of input:
> # Keyspace/Table compaction: [<keyspace> <tables>...] - for forcing major
> compaction on specific keyspaces and tables
> # SSTable file compaction: <SSTable file>... - for user-defined compaction
> on specific SSTable files
> # Token range compaction: Using --start-token and --end-token options for
> token-based compaction
> Problems with current implementation:
> * The command handles three completely different compaction scenarios
> * Users must understand complex conditional logic to determine which mode to
> use
> * Other nodetool commands use clear subcommands for different operations
> * The execute() method contains complex conditional checks that should be
> handled by picocli's argument validation
> * The usage description "[<keyspace> <tables>...] or <SSTable file>..." is
> confusing
> h3. Proposed Solution
> Split the compact command into three separate subcommands under a main
> compact command:
> # compact keyspace - For keyspace/table compaction
> # compact sstables - For user-defined SSTable compaction
> # compact range - For token range compaction
> All the changes must be backward compatible, this mean the compact command
> must be deprecated first.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]