Skip to content

Commit f78be58

Browse files
author
gitlab
committed
Merge branch 'fix-delete-snapshot-fail' into 'master'
<type>[snapshot]: fix batch delete volume snapshot timeout See merge request zstackio/zstack!3478
2 parents 4ee3745 + 951aded commit f78be58

1 file changed

Lines changed: 11 additions & 2 deletions

File tree

storage/src/main/java/org/zstack/storage/snapshot/VolumeSnapshotCascadeExtension.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,9 +133,18 @@ private void handleDeletion(final CascadeAction action, final Completion complet
133133
bus.makeTargetServiceIdByResourceUuid(omsg, VolumeConstant.SERVICE_ID, e.getKey());
134134

135135
bus.send(omsg, new CloudBusCallBack(compl) {
136-
private List<ErrorCode> buildErrorCodeFromReply(MulitpleOverlayReply reply) {
136+
private List<ErrorCode> buildErrorCodeFromReply(MessageReply r) {
137137
List<ErrorCode> errorCodes = new ArrayList<>();
138138
Iterator<NeedReplyMessage> iterator = omsg.getMessages().iterator();
139+
if (!r.isSuccess()) {
140+
omsg.getMessages().forEach(m -> {
141+
ErrorCode error = r.getError().copy();
142+
error.putToOpaque(VolumeSnapshotConstant.SNAPSHOT_UUID, ((VolumeSnapshotDeletionMsg)iterator.next()).getSnapshotUuid());
143+
errorCodes.add(error);
144+
});
145+
return errorCodes;
146+
}
147+
MulitpleOverlayReply reply = (MulitpleOverlayReply)r;
139148
reply.getInnerReplies().forEach(innerReply -> {
140149
VolumeSnapshotDeletionMsg innerMsg = (VolumeSnapshotDeletionMsg)iterator.next();
141150
if (!innerReply.isSuccess()) {
@@ -154,7 +163,7 @@ public void run(MessageReply reply) {
154163
ext.volumeSnapshotAfterCleanUpExtensionPoint(volumeUuid, snapshotToDelete.get(volumeUuid));
155164
});
156165

157-
buildErrorCodeFromReply((MulitpleOverlayReply)reply).forEach(compl::addError);
166+
buildErrorCodeFromReply(reply).forEach(compl::addError);
158167
compl.done();
159168
}
160169
});

0 commit comments

Comments
 (0)