About the DSMResync Barrier

The DSMResync barrier prevents the broker from starting all processes until the observed local processes can be reconciled with the last known state. This allows the broker to account for any processes that were shut down while the broker was offline. When the DSMResync barrier is tripped the following message will be written to the broker's log:

java.io.IOException: Timed out (3 SECONDS) waiting to be ready to start 
      unmanaged process: java.io.IOException: ProcessBarrier[DSMResync] on [All] 
      not ready, see documentation for details
    at com.nuodb.agent.ProcessBarrierManager.waitCanStartProcess
       (ProcessBarrierManager.java:63)
    at com.nuodb.agent.ProcessBarrierManager.waitCanStartProcess
       (ProcessBarrierManager.java:52)
    at com.nuodb.agent.service.ProcessService.startProcess
       (ProcessService.java:425)
    ...

Typically, this barrier will also be resolved by waiting ten (10) seconds and retrying the failing action. However, if a broker is started but is unable to contact or become a leader, the barrier will persist. Once a leader is available the barrier will be cleared.

The DSMResync barrier may only be disabled by disabling the state reconciliation behavior. This is done by setting the property enableResync=false (see Host Properties (default.properties)). Note that doing so may result in stale last known state if processes were shut down while the broker was offline. It is not possible to have the state reconciliation behavior without the barrier.