[ 
https://issues.apache.org/jira/browse/CASSSIDECAR-460?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18082423#comment-18082423
 ] 

Andrés Beck-Ruiz commented on CASSSIDECAR-460:
----------------------------------------------

CI: 
https://app.circleci.com/pipelines/github/andresbeckruiz/cassandra-sidecar/46/workflows/b2485d2a-1613-41ce-9b2e-5037c28e0352
 

> Refactor OperationalJob to have data separate from execution logic
> ------------------------------------------------------------------
>
>                 Key: CASSSIDECAR-460
>                 URL: https://issues.apache.org/jira/browse/CASSSIDECAR-460
>             Project: Sidecar for Apache Cassandra
>          Issue Type: Sub-task
>            Reporter: Andrés Beck-Ruiz
>            Assignee: Andrés Beck-Ruiz
>            Priority: Major
>              Labels: CEP-53
>          Time Spent: 2h
>  Remaining Estimate: 0h
>
> The {{OperationalJob}} class combines data fields (jobId, status, 
> operationType, node lists) with execution logic. This creates two issues:
>   1. A {{DurableOperationalJobTracker}} cannot persist a job record before 
> execution starts because {{OperationalJobManager}} bundles creation and 
> execution in the same mapping function.
>   2. Retrieving historical jobs from storage requires extending 
> {{OperationalJob}} and stubbing execution methods with 
> {{UnsupportedOperationException}}.
> In order to resolve these issues, we should extract a data-only interface 
> from {{OperationalJob}}, update the {{OperationalJobManager#trySubmitJob}} to 
> separate creation from execution, and update {{OperationalJobTracker#get}} 
> handlers to use the data interface for read paths. 



--
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