nodetool compact

Forces a major compaction on one or more tables or user-defined compaction on given SSTables.

Major compactions may behave differently depending which compaction strategy is used for the affected tables.

A major compaction incurs considerably more disk I/O than minor compactions.

Synopsis

nodetool [<connection_options>] compact
[-et <end_token>] [-s] [-st <start_token>] [--user-defined]
[--] [<keyspace> <tables> [<tables> ...] | <sstable_name> ...]

Definition

The short- and long-form options are comma-separated.

Connection options

-h, --host hostname

The hostname or IP address of a remote node or nodes. When omitted, the default is the local machine.

-p, --port jmx_port

The JMX port number.

-pw, --password jmxpassword

The JMX password for authenticating with secure JMX. If a password is not provided, you are prompted to enter one.

-pwf, --password-file jmx_password_filepath

The filepath to the file that stores JMX authentication credentials.

-u, --username jmx_username

The username for authenticating with secure JMX.

Command arguments

--

Separates an option from an argument that could be mistaken for an option.

-et, --end-token end_token

The token at which the range ends. Requires start token (-st).

keyspace_name

The keyspace name.

-s, --split-output

Do not create a single large file. Split output when using SizeTieredCompactionStrategy (STCS) to files that are 50%-25%-12.5% and so on of the total size. Ignored for DTCS.

  • nodetool compact -s only accepts keyspace table as an option. The command only works for the entire set of files in the table directory.

  • compact -s cannot be run on single sstable files; it can only be run on entire tables.

sstable_name

The name of the SSTable file. Specify <sstable_name> or <sstable_directory>.

-st, --start-token start_token

The token at which the range starts. Requires end token (-et).

table_name

The table name.

--user-defined

Submits listed files for user-defined compaction.

Was this helpful?

Give Feedback

How can we improve the documentation?

© 2025 DataStax | Privacy policy | Terms of use | Manage Privacy Choices

Apache, Apache Cassandra, Cassandra, Apache Tomcat, Tomcat, Apache Lucene, Apache Solr, Apache Hadoop, Hadoop, Apache Pulsar, Pulsar, Apache Spark, Spark, Apache TinkerPop, TinkerPop, Apache Kafka and Kafka are either registered trademarks or trademarks of the Apache Software Foundation or its subsidiaries in Canada, the United States and/or other countries. Kubernetes is the registered trademark of the Linux Foundation.

General Inquiries: +1 (650) 389-6000, info@datastax.com