DataStax Mission Control is currently in Public Preview. DataStax Mission Control is not intended for production use, has not been certified for production workloads, and might contain bugs and other functional issues. There is no guarantee that DataStax Mission Control will ever become generally available. DataStax Mission Control is provided on an “AS IS” basis, without warranty or indemnity of any kind.
If you are interested in trying out DataStax Mission Control please join the Public Preview.
Run this operation when the server version is upgraded or when changing compression options. If the SSTables are already on the current version, the command returns immediately and no action is taken.
To run the
nodetool upgradesstables operation, modify and submit the
CassandraTask manifest (object).
While this task is running additional disk pressure occurs as all SSTables are rewritten to the correct format (if required). Upon completion of the SSTable format upgrade the read performance is improved.
contextpointing to a
Control PlaneKubernetes cluster.
A single datacenter deployed in the
Data Plane Kubernetes cluster.
User defines a
DC-operator detects new task custom resource definition (CRD).
DC-operator iterates one rack at a time.
DC-operator triggers and monitors replacement operations one pod at a time.
DC-operator reports task progress and status.
User requests a status report of the
kubectlcommand, and views the status response.
demo-dse.cassandratask.yamlfile to define an
Here is a sample:
apiVersion: control.k8ssandra.io/v1alpha1 kind: CassandraTask metadata: name: upgradesstables-dc1 spec: datacenter: name: dc1 namespace: demo jobs: - name: upgradesstables-dc1 command: upgradesstables args: keyspace_name: my_keyspace
metadata.name: a unique identifer within the Kubernetes namespace where the task is submitted. While the name can be any value, consider including the cluster name to prevent collision with other options.
spec.datacenter: a unique
namecombination used to determine which datacenter to target with this operation
spec.jobs.command: MUST be
`upgradesstablesfor this operation
spec.jobs.args.keyspace_name: restricts this operation to a particular keyspace. Omitting this value results in ALL keyspaces being updated. By default all keyspaces are rebuilt.
kubectl apply -f demo-dse.casssandratask.yaml -n mission-control
-nflag to indicate the Kubernetes namespace, which MUST be
CassandraTaskobject to the Kubernetes cluster where the specified datacenter is deployed.
... status: completionTime: "2022-10-20T18:07:08Z" conditions: - lastTransitionTime: "2022-10-20T18:06:57Z" status: "True" type: Running - lastTransitionTime: "2022-10-20T18:07:08Z" status: "True" type: Complete startTime: "2022-10-20T18:06:57Z" succeeded: 3
DC-level operators set the
startTimefield prior to starting the
upgradesstablesoperation. They update the
completionTimefield when the
upgradesstablesoperation is completed.
The sample output indicates that the task is completed with the
type: Completestatus condition set to
succeeded: 3field indicates that three (3) nodes (or pods) completed the requested task successfully. A
failedfield tracks a running count of pods that failed the
kubectl get cassandratask upgradesstables-dc1 | yq .status