Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
The DagActionStoreChangeMonitor cannot be started before the Flowgraph, DagManager, and SpecCompiler are up and running. When the monitor is initialized by Guice, it was previously also starting to load dagActions from the store immediately to compile and process. There is a race condition created where the actions can be loaded too quickly from the store and passed to the specCompiler before it's ready. The SpecCompiler hangs waiting for the flowGraph to load, causing startup to fail.
The solution is the bind the monitor in Guice but only enable processing of actions after the GobblinServiceManager ensures other classes are ready to be called by the DagActionStoreChangeMonitor.