[
https://issues.apache.org/jira/browse/USERGRID-163?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Todd Nine resolved USERGRID-163.
--------------------------------
Resolution: Later
> [SPIKE] Prototype an eventually consistent unit of work structure
> -----------------------------------------------------------------
>
> Key: USERGRID-163
> URL: https://issues.apache.org/jira/browse/USERGRID-163
> Project: Usergrid
> Issue Type: Story
> Components: Stack
> Reporter: Todd Nine
> Assignee: Todd Nine
>
> For our new persistence mechanism, we need a way to compose operations as a
> functional unit of work.
> *Programming/Functional requirements*
> # A caller can compose multiple operations into a unit of work.
> # All operations must succeed or fail as part of the unit of work
> # The caller can register a callback handler, or listen on a future type
> system for a response.
> Example:
> Action 1: Write User
> Action 2: Index User
> Action 3: Write Project
> Action 4: Index Project
> Action 5: Create Edge between User and Project
> Action 6: Index Project on edge User--"owns"--> Project
> All actions must succeed or fail.
> *Operational Requirements*
> # Units of work are durable. They must survive a node death and be retried
> on another node.
> # Units of work are bound. The execution capacity of these units of work
> must be configurable. JMX realtime configuration is a plus.
> # Units of work must be realtime. If a unit of work cannot be executed due
> to capacity limitations or sub system errors it must fail fast.
> # Units of work can be concurrent. In the event the work is a long running
> process, we want to distribute these processes in a master/worker scheme
> across the cluster.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)