The journal maintains a list of operations that occurred on Neutron and should be mirrored to the controller.
The journal is processed mainly by a journaling thread that runs periodically and checks whether the journal table has any entries that need to be processed. The thread is triggered in the post-commit phase of the operation (when applicable.
For example, after the ML2 plug-in stores the 'create network again' process in the Neutron database, the EFA mechanism driver stores a journal entry representing that operation and triggers the journaling thread to take care of the entry.
The journal entry is recorded in the pre-commit phase (when applicable) so that when a commit failure occurs, the journal entry and the original operation are deleted.
For more information, see https://docs.openstack.org/networking-odl/latest/contributor/drivers_architecture.html.
Note
Journaling is available for the ML2 plug-in and Layer 3 plug-in.