You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by mc...@apache.org on 2013/08/21 01:01:49 UTC
git commit: updated refs/heads/master to fea7d21
Updated Branches:
refs/heads/master 72299f49f -> fea7d21dc
CLOUDSTACK-4412: NPE while trying to force delete zone wide primary
storage when volumes are present.
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/fea7d21d
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/fea7d21d
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/fea7d21d
Branch: refs/heads/master
Commit: fea7d21dcda9793419894736281567f2183dda3c
Parents: 72299f4
Author: Min Chen <mi...@citrix.com>
Authored: Tue Aug 20 14:56:13 2013 -0700
Committer: Min Chen <mi...@citrix.com>
Committed: Tue Aug 20 16:01:38 2013 -0700
----------------------------------------------------------------------
.../CloudStackPrimaryDataStoreDriverImpl.java | 30 ++++++++++++++++----
1 file changed, 25 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/fea7d21d/plugins/storage/volume/default/src/org/apache/cloudstack/storage/datastore/driver/CloudStackPrimaryDataStoreDriverImpl.java
----------------------------------------------------------------------
diff --git a/plugins/storage/volume/default/src/org/apache/cloudstack/storage/datastore/driver/CloudStackPrimaryDataStoreDriverImpl.java b/plugins/storage/volume/default/src/org/apache/cloudstack/storage/datastore/driver/CloudStackPrimaryDataStoreDriverImpl.java
index fd191bf..a854d2e 100644
--- a/plugins/storage/volume/default/src/org/apache/cloudstack/storage/datastore/driver/CloudStackPrimaryDataStoreDriverImpl.java
+++ b/plugins/storage/volume/default/src/org/apache/cloudstack/storage/datastore/driver/CloudStackPrimaryDataStoreDriverImpl.java
@@ -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()) {