Hi,

I am searching a way to save information on modified vertices and edges in 
a transactional way: either the modification is saved and so is the 
modification info, either none of them is saved.

By reading posts in this forum it seems that hooks are the way to go. I 
would just need some more info on how hooks work.

1/ where are dynamic hooks running?
Some posts indicate that it is the "engine thread" that is running hooks (
https://groups.google.com/forum/#!newtopic/orient-database/orient-database/aE6mIf3A3H0
)
Other indicate that it is run client side (
https://groups.google.com/forum/#!searchin/orient-database/hooks$20transaction|sort:relevance/orient-database/gfBtY_VC7ko/OjMijNQdPKoJ
)
I suppose that by "client side" you mean the thread answering client 
requests, server side. Otherwise the nodejs client would not be able to run 
them.

2/ Are modification performed by hooks part of the transaction that 
triggers them. If a conflict happens, are hooks modifications rollbacked 
with the rest of the transaction?
It seems that this is the case but I prefer to be sure. 

3/ is dynamic hook addition using MVCC?
For example:
- client A is modifying, in a transaction, a vertex of class MyClass
- client B adds a onBeforeUpdate hook to MyClass
- client A saves the transaction.
Does the transaction conflict?

4/ Is there a performance impact by just subclassing OTriggered without 
adding hooks?

5/ Is there a benchmark showing the performance impact of dynamic hooks?

6/ Is the dynamic hooks performance problem due to the functions language 
(currently javascript if I understand correctly)? If yes, will it be better 
with Groovy functions once they are possible (
https://github.com/orientechnologies/orientdb/issues/2821)?

Kind regards,

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"OrientDB" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to