Todd Nine created USERGRID-163:
----------------------------------
Summary: [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.2#6252)