浏览代码

Merge pull request #6860 from GordonSmith/HPCC-12667

HPCC-12667 Spurious calls to WUQuery after batch delete

Reviewed-By: Miguel Vazquez <miguel.vazquez@lexisnexis.com>
Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
Richard Chapman 10 年之前
父节点
当前提交
9ab7cd1591
共有 1 个文件被更改,包括 12 次插入5 次删除
  1. 12 5
      esp/src/eclwatch/WsWorkunits.js

+ 12 - 5
esp/src/eclwatch/WsWorkunits.js

@@ -234,12 +234,11 @@ define([
             return ESPRequest.send("WsWorkunits", "WUAction", {
                 request: request,
                 load: function (response) {
-                    arrayUtil.forEach(workunits, function (item, index) {
-                        if (item.refresh) { //  if action is delete then there will be no refresh
-                            item.refresh();
-                        }
-                    });
                     if (lang.exists("WUActionResponse.ActionResults.WUActionResult", response)) {
+                        var wuMap = {};
+                        arrayUtil.forEach(workunits, function (item, index) {
+                            wuMap[item.Wuid] = item;
+                        });
                         arrayUtil.forEach(response.WUActionResponse.ActionResults.WUActionResult, function (item, index) {
                             if (item.Result.indexOf("Failed:") === 0) {
                                 topic.publish("hpcc/brToaster", {
@@ -247,6 +246,14 @@ define([
                                     Source: "WsWorkunits.WUAction",
                                     Exceptions: [{Source: item.Action + " " + item.Wuid, Message: item.Result}]
                                 });
+                            } else {
+                                var wu = wuMap[item.Wuid];
+                                if (actionType === "delete" && item.Result === "Success") {
+                                    wu.set("StateID", 999);
+                                    wu.set("State", "deleted");
+                                } else if (wu.refresh) {
+                                    wu.refresh();
+                                }
                             }
                         });
                     }