CLOUDSTACK-4412: NPE while trying to force delete zone wide primary

storage when volumes are present.
This commit is contained in:
Min Chen 2013-08-20 14:56:13 -07:00
parent 72299f49fd
commit fea7d21dcd
1 changed files with 25 additions and 5 deletions

View File

@ -92,7 +92,14 @@ public class CloudStackPrimaryDataStoreDriverImpl implements PrimaryDataStoreDri
CreateObjectCommand cmd = new CreateObjectCommand(volume.getTO());
EndPoint ep = epSelector.select(volume);
Answer answer = ep.sendMessage(cmd);
Answer answer = null;
if ( ep == null ){
String errMsg = "No remote endpoint to send DeleteCommand, check if host or ssvm is down?";
s_logger.error(errMsg);
answer = new Answer(cmd, false, errMsg);
} else{
answer = ep.sendMessage(cmd);
}
return answer;
}
@ -139,9 +146,15 @@ public class CloudStackPrimaryDataStoreDriverImpl implements PrimaryDataStoreDri
CommandResult result = new CommandResult();
try {
EndPoint ep = epSelector.select(data);
Answer answer = ep.sendMessage(cmd);
if (answer != null && !answer.getResult()) {
result.setResult(answer.getDetails());
if ( ep == null ){
String errMsg = "No remote endpoint to send DeleteCommand, check if host or ssvm is down?";
s_logger.error(errMsg);
result.setResult(errMsg);
} else {
Answer answer = ep.sendMessage(cmd);
if (answer != null && !answer.getResult()) {
result.setResult(answer.getDetails());
}
}
} catch (Exception ex) {
s_logger.debug("Unable to destoy volume" + data.getId(), ex);
@ -168,7 +181,14 @@ public class CloudStackPrimaryDataStoreDriverImpl implements PrimaryDataStoreDri
CreateObjectCommand cmd = new CreateObjectCommand(snapshotTO);
EndPoint ep = this.epSelector.select(snapshot);
Answer answer = ep.sendMessage(cmd);
Answer answer = null;
if ( ep == null ){
String errMsg = "No remote endpoint to send DeleteCommand, check if host or ssvm is down?";
s_logger.error(errMsg);
answer = new Answer(cmd, false, errMsg);
} else{
answer = ep.sendMessage(cmd);
}
result = new CreateCmdResult(null, answer);
if (answer != null && !answer.getResult()) {