nodetool upgradesstables

Rewrites SSTables for tables that are not running the current version of DataStax Enterprise.

cassandra.yaml

The location of the cassandra.yaml file depends on the type of installation:
Package installations /etc/dse/cassandra/cassandra.yaml
Tarball installations installation_location/resources/cassandra/conf/cassandra.yaml

Rewrites SSTables for tables that are not running the current version of DataStax Enterprise to upgrade to current version. Use this command when upgrading your server or changing compression options.

See sstableupgrade for SSTable compatibility with current DSE version.

Synopsis

nodetool [connection_options] upgradesstables
[-a] [-j num_jobs] [--] [keyspace_name table_name [table_name ...]]
Table 1. Legend
Syntax conventions Description
UPPERCASE Literal keyword.
Lowercase Not literal.
Italics Variable value. Replace with a valid option or user-defined value.
[ ] Optional. Square brackets ( [ ] ) surround optional command arguments. Do not type the square brackets.
( ) Group. Parentheses ( ( ) ) identify a group to choose from. Do not type the parentheses.
| Or. A vertical bar ( | ) separates alternative elements. Type any one of the elements. Do not type the vertical bar.
... Repeatable. An ellipsis ( ... ) indicates that you can repeat the syntax element as often as required.
'Literal string' Single quotation ( ' ) marks must surround literal strings in CQL statements. Use single quotation marks to preserve upper case.
{ key:value } Map collection. Braces ( { } ) enclose map collections or key value pairs. A colon separates the key and the value.
<datatype1,datatype2> Set, list, map, or tuple. Angle brackets ( < > ) enclose data types in a set, list, map, or tuple. Separate the data types with a comma.
cql_statement; End CQL statement. A semicolon ( ; ) terminates all CQL statements.
[ -- ] Separate the command line options from the command arguments with two hyphens ( -- ). This syntax is useful when arguments might be mistaken for command line options.
' <schema> ... </schema> ' Search CQL only: Single quotation marks ( ' ) surround an entire XML schema declaration.
@xml_entity='xml_entity_type' Search CQL only: Identify the entity and literal value to overwrite the XML element in the schema and solrconfig files.

Definition

The short form and long form parameters 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 user name for authenticating with secure JMX.

Command arguments

--
Separates an option from an argument that could be mistaken for a option.
-a, --include-all-sstables
Upgrade target SSTables, including SSTables already on the current DSE version.
-j, --jobs num_jobs
  • num_jobs - Number of SSTables affected simultaneously. Default: 2.
  • 0 - Use all available compaction threads.
keyspace_name
The keyspace name.
table_name
One or more table names, separated by a space.

Examples

Upgrade all SSTables in the cycling keyspace and the cyclist_name table

nodetool upgradesstables --include-all-sstables cycling cyclist_name

Force upgrade all SSTables

Force upgrade all SSTables, including SSTables already on the current DSE version.

nodetool upgradesstables -a 

Force upgrade of target SSTables

Force upgrade the SSTables for the specified keyspace and table, including SSTables already on the current DSE version.

nodetool upgradesstables -a keyspace_name table_name

Upgrade four SSTables simultaneously until all SSTables are upgraded

nodetool upgradesstables --include-all-sstables --jobs 4
Note: The number of jobs cannot exceed the concurrent_compactors configured in cassandra.yaml.