arvindKandpal-ksolves opened a new pull request, #4922: URL: https://github.com/apache/cassandra/pull/4922
### Summary Splits the `nodetool compact` command into three distinct subcommands to comply with picocli best practices as per CASSANDRA-20793: * `compact keyspace` - for keyspace/table compaction * `compact sstables` - for user-defined SSTable compaction * `compact range` - for token range compaction The legacy `compact` command is deprecated (with a printed warning) but kept fully intact for backward compatibility. ### Changes * **`Compact.java`**: Added 3 static inner subcommand classes (`Keyspace`, `SSTables`, `Range`). Deprecated the parent command and added a deprecation warning output. * **`CompactTest.java`**: Added integration tests for all new subcommands and verified the legacy command warning. * **`CompactMockTest.java`**: Added mock/unit tests for the new subcommands to ensure arguments are parsed and passed correctly. ### Tests All existing tests pass. New test coverage has been added for all 3 subcommands to ensure backward compatibility and correct execution. patch by Arvind Kandpal; reviewed by TBD for CASSANDRA-20793 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]

