void triggerCheckpoint ( boolean uncompressed ) throws IOException { String pref = "Standby: Checkpoint - " ; LOG . info ( pref + "triggering checkpoint manually" ) ; // check error conditions if ( uncompressed ) { throwIOException ( pref + " uncompressed option not supported" , null ) ; } if ( manualCheckpointLatch . getCount ( ) > 0 ) { throwIOException ( pref + "Another manual checkpoint is in progress" , null ) ; } // set the manual checkpoint latch manualCheckpointLatch = new CountDownLatch ( 2 ) ; lastCheckpointTime = delayedScheduledCheckpointTime = 0 ; try { manualCheckpointLatch . await ( ) ; } catch ( InterruptedException e ) { throwIOException ( pref + "interrupted when performing manual checkpoint" , e ) ; } // check if checkpoint succeeded if ( checkpointFailures > 0 ) { throwIOException ( pref + "manual checkpoint failed" , null ) ; } LOG . info ( pref + "manual checkpoint done" ) ; }
Trigger checkpoint . If there is an ongoing scheduled checkpoint this call will trigger a checkpoint immediately after . The method blocks until the checkpoint is done .