// Get the current configuration
Configuration conf = getConf();
// Create the client
AdminOperationsProtocol adminOperationsProtocol =
(AdminOperationsProtocol)
RPC.getProxy(AdminOperationsProtocol.class,
AdminOperationsProtocol.versionID,
JobTracker.getAddress(conf), getUGI(conf), conf,
NetUtils.getSocketFactory(conf,
AdminOperationsProtocol.class));
boolean inSafeMode = adminOperationsProtocol.setSafeMode(action);
//
// If we are waiting for safemode to exit, then poll and
// sleep till we are out of safemode.
//
if (waitExitSafe) {
while (inSafeMode) {
try {
Thread.sleep(3000);
} catch (java.lang.InterruptedException e) {
throw new IOException("Wait Interrupted");
}
inSafeMode = adminOperationsProtocol.setSafeMode(action);
}
}
System.out.println("Safe mode is " + (inSafeMode ? "ON" : "OFF"));