HI Mohammad, You're looking at the documentation for a different product - gemfirexd. Check out the docs for geode here - http://geode.docs.pivotal.io/docs/. GemfireXD is a SQL database built on top of gemfire (now geode).
Regarding your question as it applies to geode - I think using geode functions is probably a good idea. With the cache listeners - you need to be a bit careful about cache listeners if one listener is going to trigger events that trigger's another listener and so on. You can get yourself in a distributed deadlock if you create this long chain of listeners. So you might be better of applying your original update in a function that computes the side effects and fires other functions. -Dan On Wed, May 4, 2016 at 5:56 AM, Mohammad Adnan Raza <[email protected]> wrote: > One of my current assignment needs to implement real time graph processing > and I am considering Geode to achieve this. We need to have a chain of data > updates in a transaction on an record update event. Would it work if we > enable a synchronous cache listener (as described here > <http://gemfirexd.docs.pivotal.io/1.3.1/userguide/caching_database/writers-listeners-about.html>) > on a record update event of a given table and call a data aware procedure > (as described here > <http://gemfirexd.docs.pivotal.io/1.3.1/userguide/developers_guide/topics/server-side/data-aware-procedures.html>). > This procedure would execute a record put on a different table and given > that it can execute on the node where the data resides, we would have > better performance otherwise. Does this theoretically sound right? > > A detailed example is as following. > > Assume that I have node1, node2 and node3 all are integers. First event > will come from user to update node1 with 10. From Graph I would know that > next node is node2 and that should be updated by node1*2 i.e. 20. I'll > update node2. Now node3 should be updated by node2*3 i.e. 60 I'll update > node3. > > I would appreciate your thoughts on this. > -- > > *With Best Regards,* > > * Mohammad Adnan* > > > >
