You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Andrés Beck-Ruiz (Jira)" <ji...@apache.org> on 2026/07/10 22:48:00 UTC

[jira] [Updated] (CASSSIDECAR-482) Reconcile stale persisted operational jobs across Sidecar restarts and storage failures

     [ https://issues.apache.org/jira/browse/CASSSIDECAR-482?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrés Beck-Ruiz updated CASSSIDECAR-482:
-----------------------------------------
    Priority: Normal  (was: Major)

> Reconcile stale persisted operational jobs across Sidecar restarts and storage failures
> ---------------------------------------------------------------------------------------
>
>                 Key: CASSSIDECAR-482
>                 URL: https://issues.apache.org/jira/browse/CASSSIDECAR-482
>             Project: Sidecar for Apache Cassandra
>          Issue Type: Improvement
>            Reporter: Andrés Beck-Ruiz
>            Priority: Normal
>              Labels: CEP-53
>
> Currently, the {{DurableOperationalJobTracker}} persists only two states per job: the initial CREATED record on submission and the terminal status on completion. Intermediate RUNNING and per-node progress are never written, and there is no reconciliation of persisted records against live state. As a result, a record can be left stuck at CREATED if the sidecar restarts mid-operation or if the terminal status update from the {{DurableOperationalJobTracker}} exhausts its retries. Persisting intermediate RUNNING and per-node progress is handled separately in CASSSIDECAR-378, which will narrow but not eliminate this window.
> To close this gap, we should add a startup/periodic reconciliation sweep over {{findAllJobs}} that corrects or flags non-terminal records which no longer match live state. As part of this,
> we need a way to distinguish a record that is genuinely still CREATED from one whose true state was simply never recorded. This can either be done by:
> 1. An internal durability-degraded marker on {{OperationalJobRecord}}
> 2. A new {{OperationalJobStatus}} (e.g. UNKNOWN) surfaced through the existing status field.
> This is a follow-up to CASSSIDECAR-374 and not a regression: the prior in-memory tracker persisted nothing and returned null once a job left memory, so stuck at CREATED is strictly more information than before.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org