return result;
}
private OperationResult prepareForUpgrade(Configuration parameters) throws Exception {
EmsConnection emsConnection = getEmsConnection();
EmsBean storageService = emsConnection.getBean("org.apache.cassandra.db:type=StorageService");
Class<?>[] emptyParams = new Class<?>[0];
if (log.isDebugEnabled()) {
log.debug("Disabling native transport...");
}
EmsOperation operation = storageService.getOperation("stopNativeTransport", emptyParams);
operation.invoke((Object[]) emptyParams);
if (log.isDebugEnabled()) {
log.debug("Disabling gossip...");
}
operation = storageService.getOperation("stopGossiping", emptyParams);
operation.invoke((Object[]) emptyParams);
if (log.isDebugEnabled()) {
log.debug("Taking the snapshot...");
}
operation = storageService.getOperation("takeSnapshot", String.class, String[].class);
String snapshotName = parameters.getSimpleValue("snapshotName");
if (snapshotName == null || snapshotName.trim().isEmpty()) {
snapshotName = System.currentTimeMillis() + "";
}
operation.invoke(snapshotName, new String[] {});
// max 2 sec
waitForTaskToComplete(500, 10, 150);
if (log.isDebugEnabled()) {
log.debug("Initiating drain...");
}
operation = storageService.getOperation("drain", emptyParams);
operation.invoke((Object[]) emptyParams);
return new OperationResult();
}