public synchronized boolean onRecoverEvaluator ( final String evaluatorId ) { if ( getStateOfPreviousEvaluator ( evaluatorId ) . isFailedOrNotExpected ( ) ) { final String errMsg = "Evaluator with evaluator ID " + evaluatorId + " not expected to be alive." ; LOG . log ( Level . SEVERE , errMsg ) ; throw new DriverFatalRuntimeException ( errMsg ) ; } if ( getStateOfPreviousEvaluator ( evaluatorId ) != EvaluatorRestartState . EXPECTED ) { LOG . log ( Level . WARNING , "Evaluator with evaluator ID " + evaluatorId + " added to the set" + " of recovered evaluators more than once. Ignoring second add..." ) ; return false ; } // set the status for this evaluator ID to be reported. setEvaluatorReported ( evaluatorId ) ; if ( haveAllExpectedEvaluatorsReported ( ) ) { onDriverRestartCompleted ( false ) ; } return true ; }
Indicate that this Driver has re - established the connection with one more Evaluator of a previous run .