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]

Reply via email to