sstablelevelreset¶
If LeveledCompactionStrategy is set, this script can be used to reset level to 0 on a given set of sstables. This is useful if you want to, for example, change the minimum sstable size, and therefore restart the compaction process using this new configuration.
See http://cassandra.apache.org/doc/latest/operating/compaction.html#leveled-compaction-strategy for information on how levels are used in this compaction strategy.
Cassandra must be stopped before this tool is executed, or unexpected results will occur. Note: the script does not verify that Cassandra is stopped.
ref: https://issues.apache.org/jira/browse/CASSANDRA-5271
Usage¶
sstablelevelreset –really-reset <keyspace> <table>
The really-reset flag is required, to ensure this intrusive command is not run accidentally.
Table not found¶
If the keyspace and/or table is not in the schema (e.g., if you misspelled the table name), the script will return an error.
Example:
ColumnFamily not found: keyspace/evenlog.
Table already at level 0¶
The script will not set the level if it is already set to 0.
Example:
Skipped /var/lib/cassandra/data/keyspace/eventlog-65c429e08c5a11e8939edf4f403979ef/mc-1-big-Data.db since it is already on level 0
Table levels reduced to 0¶
If the level is not already 0, then this will reset it to 0.
Example:
sstablemetadata /var/lib/cassandra/data/keyspace/eventlog-6365332094dd11e88f324f9c503e4753/mc-8-big-Data.db | grep -i level
SSTable Level: 1
sstablelevelreset --really-reset keyspace eventlog
Changing level from 1 to 0 on /var/lib/cassandra/data/keyspace/eventlog-6365332094dd11e88f324f9c503e4753/mc-8-big-Data.db
sstablemetadata /var/lib/cassandra/data/keyspace/eventlog-6365332094dd11e88f324f9c503e4753/mc-8-big-Data.db | grep -i level
SSTable Level: 0