[ 
https://issues.apache.org/jira/browse/USERGRID-85?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13983090#comment-13983090
 ] 

Todd Nine edited comment on USERGRID-85 at 4/28/14 4:52 PM:
------------------------------------------------------------

Refactor is done.  Closing.  

https://github.com/usergrid/usergrid/pull/127

https://github.com/usergrid/usergrid/pull/129


was (Author: tnine):
Refactor is done.  Closing.  

> 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)

Reply via email to