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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to