We’re developing an application where multiple processes on different nodes in a distributed system subscribe to mnesia events. The table is written to from one single process on one of the nodes.
However uncertainty has arose about if we can be sure to receive the events in the same order as operations on the table.
E.g:
mnesia:delete(tab1, SomeRec),
mnesia:write(tab1, SomeOtherRec)
If we sometimes get the delete event after the write event our design would not work and we would have to create some other kind of notification mechanism.
Also, how about operations on different tables (from the same process)?
mnesia:write(tab1, SomeRec),
mnesia:write(tab2, SomeOtherRec)
Can we be sure to always get the event from tab1 before the one from tab2? On all processes and all nodes?