package water.api;
import dontweave.gson.JsonObject;
import water.Job;
import water.util.Log;
import water.util.RemoveAllKeysTask;
public class RemoveAll extends JSONOnlyRequest {
@Override public RequestServer.API_VERSION[] supportedVersions() { return SUPPORTS_ONLY_V2; }
@Override protected void registered(RequestServer.API_VERSION version) { super.registered(version); }
@Override
protected Response serve() {
try {
Log.info("Removing all keys for the cluster");
// First cancel all jobs and wait for them to be done.
Log.info("Cancelling all jobs...");
for (Job job : Job.all()) {
job.cancel();
Job.waitUntilJobEnded(job.self());
}
Log.info("Finished cancelling all jobs");
RemoveAllKeysTask collector = new RemoveAllKeysTask();
collector.invokeOnAllNodes();
Log.info("Finished removing keys");
} catch( Throwable e ) {
return Response.error(e);
}
JsonObject response = new JsonObject();
return Response.done(response);
}
}