Yuntong Qu created CASSSIDECAR-487:
--------------------------------------
Summary: Sidecar endpoint for nodetool upgradesstables
Key: CASSSIDECAR-487
URL: https://issues.apache.org/jira/browse/CASSSIDECAR-487
Project: Sidecar for Apache Cassandra
Issue Type: Task
Reporter: Yuntong Qu
Add a per-node upgradesstables endpoint, consistent with the existing
decommission/drain/move/repair operations.
Endpoint: PUT /api/v1/cassandra/operations/upgradesstables, optional JSON body:
- keyspace — omit = all keyspaces (incl. system)
- tables — omit = all tables in the keyspace
- jobs — concurrent SSTable rewrites, default 2 (0 = all compaction threads)
- includeAllSSTables — true = nodetool -a (rewrite even current-version
SSTables)
Behavior:
- Runs asynchronously as a long-running operational job; returns immediately
with a job id when it exceeds the wait window, pollable via the
operational-jobs endpoint.
- Node-local, non-topology; safe to run in parallel across nodes. Serialized to
one upgradesstables job per node.
- Keyspaces upgraded sequentially, fail-fast; retries transient compaction
interruptions; an aborted/failed upgrade surfaces as a failed job (not silently
ignored).
- Validation: reject negative jobs, reject tables without a keyspace, and
reject an unknown keyspace.
- Guarded by a dedicated permission; Java client support included.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]