protected void savepoint ( String [ ] args ) throws Exception { LOG . info ( "Running 'savepoint' command." ) ; final Options commandOptions = CliFrontendParser . getSavepointCommandOptions ( ) ; final Options commandLineOptions = CliFrontendParser . mergeOptions ( commandOptions , customCommandLineOptions ) ; final CommandLine commandLine = CliFrontendParser . parse ( commandLineOptions , args , false ) ; final SavepointOptions savepointOptions = new SavepointOptions ( commandLine ) ; // evaluate help flag if ( savepointOptions . isPrintHelp ( ) ) { CliFrontendParser . printHelpForSavepoint ( customCommandLines ) ; return ; } final CustomCommandLine < ? > activeCommandLine = getActiveCustomCommandLine ( commandLine ) ; if ( savepointOptions . isDispose ( ) ) { runClusterAction ( activeCommandLine , commandLine , clusterClient -> disposeSavepoint ( clusterClient , savepointOptions . getSavepointPath ( ) ) ) ; } else { String [ ] cleanedArgs = savepointOptions . getArgs ( ) ; final JobID jobId ; if ( cleanedArgs . length >= 1 ) { String jobIdString = cleanedArgs [ 0 ] ; jobId = parseJobId ( jobIdString ) ; } else { throw new CliArgsException ( "Missing JobID. " + "Specify a Job ID to trigger a savepoint." ) ; } final String savepointDirectory ; if ( cleanedArgs . length >= 2 ) { savepointDirectory = cleanedArgs [ 1 ] ; } else { savepointDirectory = null ; } // Print superfluous arguments if ( cleanedArgs . length >= 3 ) { logAndSysout ( "Provided more arguments than required. Ignoring not needed arguments." ) ; } runClusterAction ( activeCommandLine , commandLine , clusterClient -> triggerSavepoint ( clusterClient , jobId , savepointDirectory ) ) ; } }
Executes the SAVEPOINT action .