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/04/28 18:54:20 UTC

[jira] [Closed] (USERGRID-85) Create and implement a distributed async consistency gaurentee

     [ https://issues.apache.org/jira/browse/USERGRID-85?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Todd Nine closed USERGRID-85.
-----------------------------


> Create and implement a distributed async consistency gaurentee
> --------------------------------------------------------------
>
>                 Key: USERGRID-85
>                 URL: https://issues.apache.org/jira/browse/USERGRID-85
>             Project: Usergrid
>          Issue Type: Story
>          Components: Stack
>            Reporter: Todd Nine
>            Assignee: Todd Nine
>            Priority: Blocker
>             Fix For: 1.1
>
>
> When an entity or a graph edge is committed, it requires post processing.  In the case of entities, this is indexing and processing of deletes from the mark operation.  In the case of edges, deletes from marks are required.  We need a general mechanism for creating a timeout checkpoint.  This will then return a timeout object.  This object can then be invoked asychronously.  Upon completion, it should remove the timeout object.  Only during a failure (JVM shutdown, node death etc) should the timeout event fire.  The timeout event will then restart the post processing.  This must ensure the following.
> # No event will ever be lost.  Events will always fire eventually at a time >= to it's timeout
> # Events should encapsulate all data required to perform async processing.  Since this could run on a different node than the caller, no state should be shared on queue/start/failover
> # Events receivers should be idempotent.   They should checkpoint their work.  If at an time a receiver fails it may be resumed by another node.  The new node should be able to resume work without the need to perform all processing again



--
This message was sent by Atlassian JIRA
(v6.2#6252)