[Neo] Requirements for an event framework for Neo4j

rick.bullotta at burningskysoftware.com rick.bullotta at burningskysoftware.com
Fri Apr 2 15:36:53 CEST 2010


   I think it would rather difficult (and perhaps even not desirable) to
   do a completely async/external interface for the
   "proactive" handlers...but for the after-the-fact mutation events it
   should be fine.



   -------- Original Message --------
   Subject: Re: [Neo] Requirements for an event framework for Neo4j
   From: Dennis Peterson <dennisbpeterson at gmail.com>
   Date: Fri, April 02, 2010 9:34 am
   To: Neo user discussions <user at lists.neo4j.org>
   Make it all async with an external api and it will work nicely with
   node.js.
   On Wed, Mar 31, 2010 at 11:26 AM, Rick Bullotta <
   rick.bullotta at burningskysoftware.com> wrote:
   > Hi, Tobias.
   >
   > That's awesome news.
   >
   > A few general questions regarding an event framework for Neo4J...
   >
   > - In the current implementation, there's a thread affinity for
   > transactions.
   > I am guessing that this could create big challenges for "proactive"
   > handlers
   > that are potentially executed on a different thread?
   >
   > - Will the handlers be synchronous or asynchronous?
   >
   > - Also, another consideration is whether or not you want to provide
   support
   > for event "folding" for chatty changes to properties on
   nodes/relationships
   > (e.g. you choose the quality of service - all changes or most recent
   > changes
   > only if you haven't yet processed the mutation event).
   >
   > - What do you envision passing along with events? A full "copy" of
   the
   > node/relationship? Only the mutated property?
   >
   > - Would there be support for "bucketed" notifications that would
   allow
   > notifications on multiple property changes on a node to be processed
   as a
   > single entity?
   >
   > Looking forward to seeing how this all materializes!
   >
   > Rick
   >
   >
   >
   > -----Original Message-----
   > From: user-bounces at lists.neo4j.org
   [[1]mailto:user-bounces at lists.neo4j.org]
   > On
   > Behalf Of Tobias Ivarsson
   > Sent: Wednesday, March 31, 2010 6:39 AM
   > To: Neo user discussions
   > Subject: [Neo] Requirements for an event framework for Neo4j
   >
   > Fellow developers!
   >
   > The time has come to start the work on an event framework for Neo4j.
   In
   > order to do a good work at this we would get input on what
   requirements you
   > have on an event framework. We would like to get a list of use cases
   for
   > which you would use an event framework, along with the features you
   think
   > the use case would need from the event framework (i.e. which events
   you
   > would like to receive notification about, and when). We would also
   like you
   > to motivate why these features are required by the use case. Events
   can
   > easily degrade performance if the framework is ill designed, so we
   would
   > like to keep things very lean.
   >
   > We have made some early analysis and arrived at the following
   conclusions:
   >
   > * There can be two kinds of event handlers: Proactive event handlers
   and
   > Reactive event handlers.
   > Proactive event handlers have the ability to preempt operations and
   > Reactive
   > event handlers simply react to an event and cannot cause the event to
   not
   > succeed.
   >
   > * There are three kinds of events in Neo4j kernel:
   > - Lifecycle events, such as shutdown.
   > - Transactional events, such as start commit, commit successful,
   rollback,
   > etc.
   > - Data modification events, such as node created, property changed,
   > relationship removed, etc.
   >
   > It might be possible that other components, such as the indexing
   component,
   > would want to add more events to the event framework.
   >
   > These are of course just some initial input to get your thoughts
   going,
   > feel
   > free to think outside of the constraints above. Our ultimate goal is
   to
   > create an event framework that is as useful as possible while
   maintaining
   >
   > --
   > Tobias Ivarsson <tobias.ivarsson at neotechnology.com>
   > Hacker, Neo Technology
   > [2]www.neotechnology.com
   > Cellphone: +46 706 534857
   > _______________________________________________
   > Neo mailing list
   > User at lists.neo4j.org
   > [3]https://lists.neo4j.org/mailman/listinfo/user
   >
   > _______________________________________________
   > Neo mailing list
   > User at lists.neo4j.org
   > [4]https://lists.neo4j.org/mailman/listinfo/user
   >
   _______________________________________________
   Neo mailing list
   User at lists.neo4j.org
   [5]https://lists.neo4j.org/mailman/listinfo/user

References

   1. http://email02.secureserver.net/#Compose
   2. http://www.neotechnology.com/
   3. https://lists.neo4j.org/mailman/listinfo/user
   4. https://lists.neo4j.org/mailman/listinfo/user
   5. https://lists.neo4j.org/mailman/listinfo/user


More information about the User mailing list