[
https://issues.apache.org/jira/browse/CASSSIDECAR-378?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrés Beck-Ruiz updated CASSSIDECAR-378:
-----------------------------------------
Labels: CEP-53 (was: )
> 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
> Priority: Major
> Labels: CEP-53
>
> 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: [email protected]
For additional commands, e-mail: [email protected]