private synchronized void onDriverRestartCompleted ( final boolean isTimedOut ) { if ( this . state != DriverRestartState . COMPLETED ) { final Set < String > outstandingEvaluatorIds = getOutstandingEvaluatorsAndMarkExpired ( ) ; driverRuntimeRestartManager . informAboutEvaluatorFailures ( outstandingEvaluatorIds ) ; this . state = DriverRestartState . COMPLETED ; final DriverRestartCompleted driverRestartCompleted = new DriverRestartCompletedImpl ( System . currentTimeMillis ( ) , isTimedOut ) ; for ( final EventHandler < DriverRestartCompleted > serviceRestartCompletedHandler : this . serviceDriverRestartCompletedHandlers ) { serviceRestartCompletedHandler . onNext ( driverRestartCompleted ) ; } for ( final EventHandler < DriverRestartCompleted > restartCompletedHandler : this . driverRestartCompletedHandlers ) { restartCompletedHandler . onNext ( driverRestartCompleted ) ; } LOG . log ( Level . FINE , "Restart completed. Evaluators that have not reported back are: " + outstandingEvaluatorIds ) ; } restartCompletedTimer . cancel ( ) ; }
Sets the driver restart status to be completed if not yet set and notifies the restart completed event handlers .