snazy opened a new pull request, #2180:
URL: https://github.com/apache/polaris/pull/2180

   Just the interfaces and value types needed for "Async & reliable tasks", the 
first three modules as described in `tasks/README.md`. The 3 different modules 
serve different "audiences":
   * API is for call sites that submit tasks via the `Tasks` interface.
   * SPI is for task/behavior implementations
   * Store is for persistence abstraction, only for tasks implementations
   
   The only entry point is the `org.apache.polaris.tasks.api.Tasks` interface 
with a function defining the behavior and provide a parameter object (if 
necessary), returning a `TaskSubmission`. Call sites _may_ subscribe to a 
`CompletionStage`, but the idea is that it's rather "fire and forget" and the 
task behavior does "everything that's needed". The allows that the task runs on 
on any node. There's no guarantee in any form that a tasks will run "locally" 
or any other specific node. Every Polaris node can handle task execution and 
perform failure/retry handling. Polaris nodes may use a "server" implementation 
or a "client" implementation or a "remote" implementation - that's defined upon 
deployment or by configuration (TBD).
   
   Implementations would be abstracted similarly:
   * Store implementation with NoSQL specifics, especially for the 
indexed/sorted lookups
   * Store implementation with JDBC specifics (can leverabe `BasePersistence`)
   * Tasks implementation for servers, clients and remote
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@polaris.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to