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 2025/11/19 22:40:00 UTC
[jira] [Created] (CASSSIDECAR-378) Add support for creation and coordination of local Sidecar Jobs
Andrés Beck-Ruiz created CASSSIDECAR-378:
--------------------------------------------
Summary: Add support for creation and coordination of local Sidecar Jobs
Key: CASSSIDECAR-378
URL: https://issues.apache.org/jira/browse/CASSSIDECAR-378
Project: Sidecar for Apache Cassandra
Issue Type: Sub-task
Reporter: Andrés Beck-Ruiz
To complement operational jobs, we need to create a {{LocalJob}} abstract class that represents a job being conducted on a Cassandra node that is managed by the Sidecar instance. Similar to the {{{}[OperationalJob|https://github.com/apache/cassandra-sidecar/blob/trunk/server/src/main/java/org/apache/cassandra/sidecar/job/OperationalJob.java#L199]{}}}, any {{LocalJob}} implementations must define the job logic in an execute or executeInternal function. For example, a {{RestartJob}} would call out to the {{LifecycleManager}} to stop and start a local node.
We should also implement the {{{}LocalJobManager{}}}, which will create a new {{LocalJob}} when the {{LocalJobCoordinator}} detects that the Sidecar instance should execute a job that is part of a larger operational job. By default, we will implement the {{{}StorageLocalJobCoordinator{}}}, which will handle coordination by periodically polling the {{StorageProvider}} to monitor any new operational jobs. This can be implemented using the {{[PeriodicTask|https://github.com/apache/cassandra-sidecar/blob/trunk/server/src/main/java/org/apache/cassandra/sidecar/tasks/PeriodicTask.java]}} interface. The {{LocalJobCoordinator}} will also be responsible for updating the status of a {{{}LocalJob{}}}; for the {{{}StorageLocalJobCoordinator{}}}, this will entail updating local job state in the {{{}StorageProvider{}}}.
--
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