You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@usergrid.apache.org by "Todd Nine (JIRA)" <ji...@apache.org> on 2014/06/03 19:48:01 UTC
[jira] [Created] (USERGRID-163) [SPIKE] Prototype an eventually
consistent unit of work structure
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)