cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vijay (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-1311) Triggers
Date Mon, 12 Nov 2012 10:27:20 GMT


Vijay commented on CASSANDRA-1311:

I pushed the initial version of triggers to
for a review...

1) User can implement Itriggers and drop the jar into $CASSANDRA_HOME/triggers
2) Patch implements a custom Class loader, which will load the classes in an order, it first
looks for the trigger classes in triggers Directory and if it cannot find the required classes
needed to complete the the operation (iTrigger.agument) it looks for the class in the parent
Class loader.
   * This buys us 2 things, user can drop all his dependencies in the directory (kind of sandboxed).
3) Every time we want to load a new jar, a new CustomCL will be loaded and the old one is
left for GC (So classes associated with the old CL can be freed up).
   * This should help a bit in avoiding OOM in the perm gen.
4) Batches with contains both batches and Counters will throw an exception, because the MutateAtomic
is not allowed on counters anyways...
5) Currently there is a JMX to load the new jars and we also watch triggers directory every
minute to looking for new JAR's, I am inclined to removing the watch part for safety and let
the user call the JMX.

TODO: Need to write more test cases.... Working on it.
> Triggers
> --------
>                 Key: CASSANDRA-1311
>                 URL:
>             Project: Cassandra
>          Issue Type: New Feature
>            Reporter: Maxim Grinev
>            Assignee: Vijay
>             Fix For: 1.3
>         Attachments: HOWTO-PatchAndRunTriggerExample.txt, HOWTO-PatchAndRunTriggerExample-update1.txt,
ImplementationDetails.pdf, ImplementationDetails-update1.pdf, trunk-967053.txt, trunk-984391-update1.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:
> An example of using triggers for indexing:
> Implementation details are attached.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

View raw message