[ 
https://issues.apache.org/jira/browse/CASSANDRA-1311?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12975462#action_12975462
 ] 

Maxim Grinev commented on CASSANDRA-1311:
-----------------------------------------

The implementation guarantees that triggers will be executed at least once even 
if the update is only partially executed. The replicas that are updated will 
take care of that. It means that if a write updates *some* replica and the 
write coordinator crashed before executing triggers and acknowledging the 
client the triggers will be executed (as many times as the number of replicas 
were updated). So missing an update is not a problem. Triggers are a good 
solution for indexing. The only thing that is triggers are not good for is 
where the trigger procedure is not idempontent. For example, when a trigger 
increments a counter, the counter will be incremented with the same value more 
than once if the write coordinator failed. 

> Support (asynchronous) triggers
> -------------------------------
>
>                 Key: CASSANDRA-1311
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1311
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Contrib
>            Reporter: Maxim Grinev
>             Fix For: 0.8
>
>         Attachments: HOWTO-PatchAndRunTriggerExample-update1.txt, 
> HOWTO-PatchAndRunTriggerExample.txt, ImplementationDetails-update1.pdf, 
> ImplementationDetails.pdf, trunk-967053.txt, trunk-984391-update1.txt, 
> trunk-984391-update2.txt
>
>
> Asynchronous triggers is a basic mechanism to implement various use cases of 
> asynchronous execution of application code at database side. For example to 
> support indexes and materialized views, online analytics, push-based data 
> propagation.
> Please find the motivation, triggers description and list of applications:
> http://maxgrinev.com/2010/07/23/extending-cassandra-with-asynchronous-triggers/
> An example of using triggers for indexing:
> http://maxgrinev.com/2010/07/23/managing-indexes-in-cassandra-using-async-triggers/
> Implementation details are attached.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to