All this heavy refactoring of Blueprints has created a lot of turmoil but
has also created opportunities to correct a number of long-standing issues.
One such problem recently solved was with EventGraph.
Prior to this refactoring effort, the EventGraph wrapper did not consider
transactions when firing events. Events fired as changes to the graph
occurred. If an error occurred and a transaction failed the events would
still have fired even though the transaction rolled back. With the recent
changes to transactions that introduced the new BufferGraph wrapper, it
then became possible to introduce the new EventGraph implementations:
EventTransactionalGraph and EventTransactionalIndexableGraph. These new
wrappers raise the same events that the original EventGraph wrapper did,
but queue the events while a transaction is in progress and wait for a
successful commit before the events are fired.
On to Rexster work next!