| = sstableupgrade |
| |
| Upgrade the sstables in the given table (or snapshot) to the current |
| version of Cassandra. This process is typically done after a Cassandra |
| version upgrade. This operation will rewrite the sstables in the |
| specified table to match the currently installed version of Cassandra. |
| The sstableupgrade command can also be used to downgrade sstables to a |
| previous version. |
| |
| The snapshot option will only upgrade the specified snapshot. Upgrading |
| snapshots is required before attempting to restore a snapshot taken in a |
| major version older than the major version Cassandra is currently |
| running. This will replace the files in the given snapshot as well as |
| break any hard links to live sstables. |
| |
| Cassandra must be stopped before this tool is executed, or unexpected |
| results will occur. Note: the script does not verify that Cassandra is |
| stopped. |
| |
| == Usage |
| |
| sstableupgrade <options> <keyspace> <table> [snapshot_name] |
| |
| [cols=",",] |
| |=== |
| |--debug |display stack traces |
| |-h,--help |display this help message |
| |-k,--keep-source |do not delete the source sstables |
| |=== |
| |
| == Rewrite tables to the current Cassandra version |
| |
| Start with a set of sstables in one version of Cassandra: |
| |
| .... |
| ls -al /tmp/cassandra/data/keyspace1/standard1-9695b790a63211e8a6fb091830ac5256/ |
| ... |
| -rw-r--r-- 1 user wheel 348 Aug 22 13:45 keyspace1-standard1-ka-1-CRC.db |
| -rw-r--r-- 1 user wheel 5620000 Aug 22 13:45 keyspace1-standard1-ka-1-Data.db |
| -rw-r--r-- 1 user wheel 10 Aug 22 13:45 keyspace1-standard1-ka-1-Digest.sha1 |
| -rw-r--r-- 1 user wheel 25016 Aug 22 13:45 keyspace1-standard1-ka-1-Filter.db |
| -rw-r--r-- 1 user wheel 480000 Aug 22 13:45 keyspace1-standard1-ka-1-Index.db |
| -rw-r--r-- 1 user wheel 9895 Aug 22 13:45 keyspace1-standard1-ka-1-Statistics.db |
| -rw-r--r-- 1 user wheel 3562 Aug 22 13:45 keyspace1-standard1-ka-1-Summary.db |
| -rw-r--r-- 1 user wheel 79 Aug 22 13:45 keyspace1-standard1-ka-1-TOC.txt |
| .... |
| |
| After upgrading the Cassandra version, upgrade the sstables: |
| |
| .... |
| sstableupgrade keyspace1 standard1 |
| Found 1 sstables that need upgrading. |
| Upgrading BigTableReader(path='/var/lib/cassandra/data/keyspace1/standard1-9695b790a63211e8a6fb091830ac5256/keyspace1-standard1-ka-1-Data.db') |
| Upgrade of BigTableReader(path='/var/lib/cassandra/data/keyspace1/standard1-9695b790a63211e8a6fb091830ac5256/keyspace1-standard1-ka-1-Data.db') complete. |
| |
| ls -al /tmp/cassandra/data/keyspace1/standard1-9695b790a63211e8a6fb091830ac5256/ |
| ... |
| drwxr-xr-x 2 user wheel 64 Aug 22 13:48 backups |
| -rw-r--r-- 1 user wheel 292 Aug 22 13:48 mc-2-big-CRC.db |
| -rw-r--r-- 1 user wheel 4599475 Aug 22 13:48 mc-2-big-Data.db |
| -rw-r--r-- 1 user wheel 10 Aug 22 13:48 mc-2-big-Digest.crc32 |
| -rw-r--r-- 1 user wheel 25256 Aug 22 13:48 mc-2-big-Filter.db |
| -rw-r--r-- 1 user wheel 330807 Aug 22 13:48 mc-2-big-Index.db |
| -rw-r--r-- 1 user wheel 10312 Aug 22 13:48 mc-2-big-Statistics.db |
| -rw-r--r-- 1 user wheel 3506 Aug 22 13:48 mc-2-big-Summary.db |
| -rw-r--r-- 1 user wheel 80 Aug 22 13:48 mc-2-big-TOC.txt |
| .... |
| |
| == Rewrite tables to the current Cassandra version, and keep tables in old version |
| |
| Again, starting with a set of sstables in one version: |
| |
| .... |
| ls -al /tmp/cassandra/data/keyspace1/standard1-db532690a63411e8b4ae091830ac5256/ |
| ... |
| -rw-r--r-- 1 user wheel 348 Aug 22 13:58 keyspace1-standard1-ka-1-CRC.db |
| -rw-r--r-- 1 user wheel 5620000 Aug 22 13:58 keyspace1-standard1-ka-1-Data.db |
| -rw-r--r-- 1 user wheel 10 Aug 22 13:58 keyspace1-standard1-ka-1-Digest.sha1 |
| -rw-r--r-- 1 user wheel 25016 Aug 22 13:58 keyspace1-standard1-ka-1-Filter.db |
| -rw-r--r-- 1 user wheel 480000 Aug 22 13:58 keyspace1-standard1-ka-1-Index.db |
| -rw-r--r-- 1 user wheel 9895 Aug 22 13:58 keyspace1-standard1-ka-1-Statistics.db |
| -rw-r--r-- 1 user wheel 3562 Aug 22 13:58 keyspace1-standard1-ka-1-Summary.db |
| -rw-r--r-- 1 user wheel 79 Aug 22 13:58 keyspace1-standard1-ka-1-TOC.txt |
| .... |
| |
| After upgrading the Cassandra version, upgrade the sstables, retaining |
| the original sstables: |
| |
| .... |
| sstableupgrade keyspace1 standard1 -k |
| Found 1 sstables that need upgrading. |
| Upgrading BigTableReader(path='/var/lib/cassandra/data/keyspace1/standard1-db532690a63411e8b4ae091830ac5256/keyspace1-standard1-ka-1-Data.db') |
| Upgrade of BigTableReader(path='/var/lib/cassandra/data/keyspace1/standard1-db532690a63411e8b4ae091830ac5256/keyspace1-standard1-ka-1-Data.db') complete. |
| |
| ls -al /tmp/cassandra/data/keyspace1/standard1-db532690a63411e8b4ae091830ac5256/ |
| ... |
| drwxr-xr-x 2 user wheel 64 Aug 22 14:00 backups |
| -rw-r--r--@ 1 user wheel 348 Aug 22 13:58 keyspace1-standard1-ka-1-CRC.db |
| -rw-r--r--@ 1 user wheel 5620000 Aug 22 13:58 keyspace1-standard1-ka-1-Data.db |
| -rw-r--r--@ 1 user wheel 10 Aug 22 13:58 keyspace1-standard1-ka-1-Digest.sha1 |
| -rw-r--r--@ 1 user wheel 25016 Aug 22 13:58 keyspace1-standard1-ka-1-Filter.db |
| -rw-r--r--@ 1 user wheel 480000 Aug 22 13:58 keyspace1-standard1-ka-1-Index.db |
| -rw-r--r--@ 1 user wheel 9895 Aug 22 13:58 keyspace1-standard1-ka-1-Statistics.db |
| -rw-r--r--@ 1 user wheel 3562 Aug 22 13:58 keyspace1-standard1-ka-1-Summary.db |
| -rw-r--r--@ 1 user wheel 79 Aug 22 13:58 keyspace1-standard1-ka-1-TOC.txt |
| -rw-r--r-- 1 user wheel 292 Aug 22 14:01 mc-2-big-CRC.db |
| -rw-r--r-- 1 user wheel 4596370 Aug 22 14:01 mc-2-big-Data.db |
| -rw-r--r-- 1 user wheel 10 Aug 22 14:01 mc-2-big-Digest.crc32 |
| -rw-r--r-- 1 user wheel 25256 Aug 22 14:01 mc-2-big-Filter.db |
| -rw-r--r-- 1 user wheel 330801 Aug 22 14:01 mc-2-big-Index.db |
| -rw-r--r-- 1 user wheel 10312 Aug 22 14:01 mc-2-big-Statistics.db |
| -rw-r--r-- 1 user wheel 3506 Aug 22 14:01 mc-2-big-Summary.db |
| -rw-r--r-- 1 user wheel 80 Aug 22 14:01 mc-2-big-TOC.txt |
| .... |
| |
| == Rewrite a snapshot to the current Cassandra version |
| |
| Find the snapshot name: |
| |
| .... |
| nodetool listsnapshots |
| |
| Snapshot Details: |
| Snapshot name Keyspace name Column family name True size Size on disk |
| ... |
| 1534962986979 keyspace1 standard1 5.85 MB 5.85 MB |
| .... |
| |
| Then rewrite the snapshot: |
| |
| .... |
| sstableupgrade keyspace1 standard1 1534962986979 |
| Found 1 sstables that need upgrading. |
| Upgrading BigTableReader(path='/var/lib/cassandra/data/keyspace1/standard1-5850e9f0a63711e8a5c5091830ac5256/snapshots/1534962986979/keyspace1-standard1-ka-1-Data.db') |
| Upgrade of BigTableReader(path='/var/lib/cassandra/data/keyspace1/standard1-5850e9f0a63711e8a5c5091830ac5256/snapshots/1534962986979/keyspace1-standard1-ka-1-Data.db') complete. |
| .... |