@hpcc-js/comms 2.83.0 → 2.83.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.es6.js +525 -458
- package/dist/index.es6.js.map +1 -1
- package/dist/index.js +525 -458
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/dist/index.node.js +525 -458
- package/dist/index.node.js.map +1 -1
- package/dist/index.node.min.js +1 -1
- package/dist/index.node.min.js.map +1 -1
- package/lib-es6/__package__.js +2 -2
- package/lib-es6/ecl/query.js +102 -34
- package/lib-es6/ecl/query.js.map +1 -1
- package/package.json +2 -2
- package/src/__package__.ts +2 -2
- package/src/ecl/query.ts +65 -42
- package/types/__package__.d.ts +2 -2
- package/types/ecl/query.d.ts +5 -2
- package/types/ecl/query.d.ts.map +1 -1
- package/types-3.4/__package__.d.ts +2 -2
- package/types-3.4/ecl/query.d.ts +5 -2
package/dist/index.js
CHANGED
|
@@ -611,8 +611,8 @@
|
|
|
611
611
|
}
|
|
612
612
|
|
|
613
613
|
var PKG_NAME = "@hpcc-js/comms";
|
|
614
|
-
var PKG_VERSION = "2.83.
|
|
615
|
-
var BUILD_VERSION = "2.104.
|
|
614
|
+
var PKG_VERSION = "2.83.1";
|
|
615
|
+
var BUILD_VERSION = "2.104.23";
|
|
616
616
|
|
|
617
617
|
/******************************************************************************
|
|
618
618
|
Copyright (c) Microsoft Corporation.
|
|
@@ -704,7 +704,7 @@
|
|
|
704
704
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
705
705
|
}
|
|
706
706
|
|
|
707
|
-
var logger$
|
|
707
|
+
var logger$4 = util.scopedLogger("comms/connection.ts");
|
|
708
708
|
function instanceOfIOptions(object) {
|
|
709
709
|
return "baseUrl" in object;
|
|
710
710
|
}
|
|
@@ -806,12 +806,12 @@
|
|
|
806
806
|
respondedTimeout -= respondedTick;
|
|
807
807
|
if (respondedTimeout <= 0) {
|
|
808
808
|
clearInterval(progress);
|
|
809
|
-
logger$
|
|
809
|
+
logger$4.error("Request timeout: " + script.src);
|
|
810
810
|
doCallback();
|
|
811
811
|
reject(Error("Request timeout: " + script.src));
|
|
812
812
|
}
|
|
813
813
|
else {
|
|
814
|
-
logger$
|
|
814
|
+
logger$4.debug("Request pending (" + respondedTimeout / 1000 + " sec): " + script.src);
|
|
815
815
|
}
|
|
816
816
|
}
|
|
817
817
|
}, respondedTick);
|
|
@@ -1991,7 +1991,7 @@
|
|
|
1991
1991
|
return LogaccessServiceBase;
|
|
1992
1992
|
}(Service));
|
|
1993
1993
|
|
|
1994
|
-
var logger$
|
|
1994
|
+
var logger$3 = util.scopedLogger("@hpcc-js/comms/services/wsLogaccess.ts");
|
|
1995
1995
|
var ElasticKnownColumns;
|
|
1996
1996
|
(function (ElasticKnownColumns) {
|
|
1997
1997
|
ElasticKnownColumns["audience"] = "hpcc.log.audience";
|
|
@@ -2193,7 +2193,7 @@
|
|
|
2193
2193
|
lines = (_d = (_c = logLines.lines) === null || _c === void 0 ? void 0 : _c.map(elasticToLogLine)) !== null && _d !== void 0 ? _d : [];
|
|
2194
2194
|
break;
|
|
2195
2195
|
default:
|
|
2196
|
-
logger$
|
|
2196
|
+
logger$3.warning("Unknown RemoteLogManagerType: ".concat(logInfo.RemoteLogManagerType));
|
|
2197
2197
|
lines = [];
|
|
2198
2198
|
}
|
|
2199
2199
|
return {
|
|
@@ -2202,7 +2202,7 @@
|
|
|
2202
2202
|
};
|
|
2203
2203
|
}
|
|
2204
2204
|
catch (e) {
|
|
2205
|
-
logger$
|
|
2205
|
+
logger$3.error(e);
|
|
2206
2206
|
}
|
|
2207
2207
|
return {
|
|
2208
2208
|
lines: [],
|
|
@@ -5590,7 +5590,7 @@
|
|
|
5590
5590
|
}
|
|
5591
5591
|
return num;
|
|
5592
5592
|
}
|
|
5593
|
-
var logger$
|
|
5593
|
+
var logger$2 = util.scopedLogger("workunit.ts");
|
|
5594
5594
|
var WUStateID = exports.WUStateID;
|
|
5595
5595
|
var WorkunitCache = /** @class */ (function (_super) {
|
|
5596
5596
|
__extends(WorkunitCache, _super);
|
|
@@ -6706,7 +6706,7 @@
|
|
|
6706
6706
|
return false;
|
|
6707
6707
|
});
|
|
6708
6708
|
if (!wuMissing) {
|
|
6709
|
-
logger$
|
|
6709
|
+
logger$2.warning("Unexpected exception: ");
|
|
6710
6710
|
throw e;
|
|
6711
6711
|
}
|
|
6712
6712
|
return {};
|
|
@@ -6743,7 +6743,7 @@
|
|
|
6743
6743
|
return false;
|
|
6744
6744
|
});
|
|
6745
6745
|
if (!wuMissing) {
|
|
6746
|
-
logger$
|
|
6746
|
+
logger$2.warning("Unexpected exception: ");
|
|
6747
6747
|
throw e;
|
|
6748
6748
|
}
|
|
6749
6749
|
return {};
|
|
@@ -6832,7 +6832,7 @@
|
|
|
6832
6832
|
}
|
|
6833
6833
|
return new util.XMLNode(command);
|
|
6834
6834
|
}).catch(function (_) {
|
|
6835
|
-
logger$
|
|
6835
|
+
logger$2.error(_);
|
|
6836
6836
|
return Promise.resolve(new util.XMLNode(command));
|
|
6837
6837
|
});
|
|
6838
6838
|
};
|
|
@@ -7651,158 +7651,492 @@
|
|
|
7651
7651
|
return Machine;
|
|
7652
7652
|
}(util.StateObject));
|
|
7653
7653
|
|
|
7654
|
-
var
|
|
7655
|
-
__extends(
|
|
7656
|
-
function
|
|
7654
|
+
var TargetClusterCache = /** @class */ (function (_super) {
|
|
7655
|
+
__extends(TargetClusterCache, _super);
|
|
7656
|
+
function TargetClusterCache() {
|
|
7657
7657
|
return _super.call(this, function (obj) {
|
|
7658
|
-
return
|
|
7658
|
+
return "".concat(obj.BaseUrl, "-").concat(obj.Name);
|
|
7659
7659
|
}) || this;
|
|
7660
7660
|
}
|
|
7661
|
-
return
|
|
7661
|
+
return TargetClusterCache;
|
|
7662
7662
|
}(util.Cache));
|
|
7663
|
-
var
|
|
7664
|
-
var
|
|
7665
|
-
__extends(
|
|
7666
|
-
function
|
|
7663
|
+
var _targetCluster = new TargetClusterCache();
|
|
7664
|
+
var TargetCluster = /** @class */ (function (_super) {
|
|
7665
|
+
__extends(TargetCluster, _super);
|
|
7666
|
+
function TargetCluster(optsConnection, name) {
|
|
7667
7667
|
var _this = _super.call(this) || this;
|
|
7668
|
-
if (optsConnection instanceof
|
|
7668
|
+
if (optsConnection instanceof TopologyService) {
|
|
7669
7669
|
_this.connection = optsConnection;
|
|
7670
|
-
|
|
7670
|
+
_this.machineConnection = new MachineService(optsConnection.connectionOptions());
|
|
7671
7671
|
}
|
|
7672
7672
|
else {
|
|
7673
|
-
_this.connection = new
|
|
7674
|
-
|
|
7673
|
+
_this.connection = new TopologyService(optsConnection);
|
|
7674
|
+
_this.machineConnection = new MachineService(optsConnection);
|
|
7675
7675
|
}
|
|
7676
|
-
_this.
|
|
7677
|
-
|
|
7676
|
+
_this.clear({
|
|
7677
|
+
Name: name
|
|
7678
|
+
});
|
|
7678
7679
|
return _this;
|
|
7679
7680
|
}
|
|
7680
|
-
Object.defineProperty(
|
|
7681
|
+
Object.defineProperty(TargetCluster.prototype, "BaseUrl", {
|
|
7681
7682
|
get: function () { return this.connection.baseUrl; },
|
|
7682
7683
|
enumerable: false,
|
|
7683
7684
|
configurable: true
|
|
7684
7685
|
});
|
|
7685
|
-
Object.defineProperty(
|
|
7686
|
-
get: function () { return this.get(); },
|
|
7687
|
-
enumerable: false,
|
|
7688
|
-
configurable: true
|
|
7689
|
-
});
|
|
7690
|
-
Object.defineProperty(Query.prototype, "Exceptions", {
|
|
7691
|
-
get: function () { return this.get("Exceptions"); },
|
|
7692
|
-
enumerable: false,
|
|
7693
|
-
configurable: true
|
|
7694
|
-
});
|
|
7695
|
-
Object.defineProperty(Query.prototype, "QueryId", {
|
|
7696
|
-
get: function () { return this.get("QueryId"); },
|
|
7697
|
-
enumerable: false,
|
|
7698
|
-
configurable: true
|
|
7699
|
-
});
|
|
7700
|
-
Object.defineProperty(Query.prototype, "QuerySet", {
|
|
7701
|
-
get: function () { return this.get("QuerySet"); },
|
|
7702
|
-
enumerable: false,
|
|
7703
|
-
configurable: true
|
|
7704
|
-
});
|
|
7705
|
-
Object.defineProperty(Query.prototype, "QueryName", {
|
|
7706
|
-
get: function () { return this.get("QueryName"); },
|
|
7707
|
-
enumerable: false,
|
|
7708
|
-
configurable: true
|
|
7709
|
-
});
|
|
7710
|
-
Object.defineProperty(Query.prototype, "Wuid", {
|
|
7711
|
-
get: function () { return this.get("Wuid"); },
|
|
7712
|
-
enumerable: false,
|
|
7713
|
-
configurable: true
|
|
7714
|
-
});
|
|
7715
|
-
Object.defineProperty(Query.prototype, "Dll", {
|
|
7716
|
-
get: function () { return this.get("Dll"); },
|
|
7686
|
+
Object.defineProperty(TargetCluster.prototype, "Name", {
|
|
7687
|
+
get: function () { return this.get("Name"); },
|
|
7717
7688
|
enumerable: false,
|
|
7718
7689
|
configurable: true
|
|
7719
7690
|
});
|
|
7720
|
-
Object.defineProperty(
|
|
7721
|
-
get: function () { return this.get("
|
|
7691
|
+
Object.defineProperty(TargetCluster.prototype, "Prefix", {
|
|
7692
|
+
get: function () { return this.get("Prefix"); },
|
|
7722
7693
|
enumerable: false,
|
|
7723
7694
|
configurable: true
|
|
7724
7695
|
});
|
|
7725
|
-
Object.defineProperty(
|
|
7726
|
-
get: function () { return this.get("
|
|
7696
|
+
Object.defineProperty(TargetCluster.prototype, "Type", {
|
|
7697
|
+
get: function () { return this.get("Type"); },
|
|
7727
7698
|
enumerable: false,
|
|
7728
7699
|
configurable: true
|
|
7729
7700
|
});
|
|
7730
|
-
Object.defineProperty(
|
|
7731
|
-
get: function () { return this.get("
|
|
7701
|
+
Object.defineProperty(TargetCluster.prototype, "IsDefault", {
|
|
7702
|
+
get: function () { return this.get("IsDefault"); },
|
|
7732
7703
|
enumerable: false,
|
|
7733
7704
|
configurable: true
|
|
7734
7705
|
});
|
|
7735
|
-
Object.defineProperty(
|
|
7736
|
-
get: function () { return this.get("
|
|
7706
|
+
Object.defineProperty(TargetCluster.prototype, "TpClusters", {
|
|
7707
|
+
get: function () { return this.get("TpClusters"); },
|
|
7737
7708
|
enumerable: false,
|
|
7738
7709
|
configurable: true
|
|
7739
7710
|
});
|
|
7740
|
-
Object.defineProperty(
|
|
7741
|
-
get: function () { return this.get("
|
|
7711
|
+
Object.defineProperty(TargetCluster.prototype, "TpEclCCServers", {
|
|
7712
|
+
get: function () { return this.get("TpEclCCServers"); },
|
|
7742
7713
|
enumerable: false,
|
|
7743
7714
|
configurable: true
|
|
7744
7715
|
});
|
|
7745
|
-
Object.defineProperty(
|
|
7746
|
-
get: function () { return this.get("
|
|
7716
|
+
Object.defineProperty(TargetCluster.prototype, "TpEclServers", {
|
|
7717
|
+
get: function () { return this.get("TpEclServers"); },
|
|
7747
7718
|
enumerable: false,
|
|
7748
7719
|
configurable: true
|
|
7749
7720
|
});
|
|
7750
|
-
Object.defineProperty(
|
|
7751
|
-
get: function () { return this.get("
|
|
7721
|
+
Object.defineProperty(TargetCluster.prototype, "TpEclAgents", {
|
|
7722
|
+
get: function () { return this.get("TpEclAgents"); },
|
|
7752
7723
|
enumerable: false,
|
|
7753
7724
|
configurable: true
|
|
7754
7725
|
});
|
|
7755
|
-
Object.defineProperty(
|
|
7756
|
-
get: function () { return this.get("
|
|
7726
|
+
Object.defineProperty(TargetCluster.prototype, "TpEclSchedulers", {
|
|
7727
|
+
get: function () { return this.get("TpEclSchedulers"); },
|
|
7757
7728
|
enumerable: false,
|
|
7758
7729
|
configurable: true
|
|
7759
7730
|
});
|
|
7760
|
-
Object.defineProperty(
|
|
7761
|
-
get: function () { return this.get("
|
|
7731
|
+
Object.defineProperty(TargetCluster.prototype, "MachineInfoEx", {
|
|
7732
|
+
get: function () { return this.get("MachineInfoEx", []); },
|
|
7762
7733
|
enumerable: false,
|
|
7763
7734
|
configurable: true
|
|
7764
7735
|
});
|
|
7765
|
-
Object.defineProperty(
|
|
7766
|
-
get: function () {
|
|
7736
|
+
Object.defineProperty(TargetCluster.prototype, "CMachineInfoEx", {
|
|
7737
|
+
get: function () {
|
|
7738
|
+
var _this = this;
|
|
7739
|
+
return this.MachineInfoEx.map(function (machineInfoEx) { return Machine.attach(_this.machineConnection, machineInfoEx.Address, machineInfoEx); });
|
|
7740
|
+
},
|
|
7767
7741
|
enumerable: false,
|
|
7768
7742
|
configurable: true
|
|
7769
7743
|
});
|
|
7770
|
-
|
|
7771
|
-
get:
|
|
7772
|
-
|
|
7773
|
-
|
|
7744
|
+
TargetCluster.attach = function (optsConnection, name, state) {
|
|
7745
|
+
var retVal = _targetCluster.get({ BaseUrl: optsConnection.baseUrl, Name: name }, function () {
|
|
7746
|
+
return new TargetCluster(optsConnection, name);
|
|
7747
|
+
});
|
|
7748
|
+
if (state) {
|
|
7749
|
+
retVal.set(__assign({}, state));
|
|
7750
|
+
}
|
|
7751
|
+
return retVal;
|
|
7752
|
+
};
|
|
7753
|
+
TargetCluster.prototype.fetchMachines = function (request) {
|
|
7754
|
+
var _this = this;
|
|
7755
|
+
if (request === void 0) { request = {}; }
|
|
7756
|
+
return this.machineConnection.GetTargetClusterInfo(__assign({ TargetClusters: {
|
|
7757
|
+
Item: ["".concat(this.Type, ":").concat(this.Name)]
|
|
7758
|
+
} }, request)).then(function (response) {
|
|
7759
|
+
var retVal = [];
|
|
7760
|
+
for (var _i = 0, _a = response.TargetClusterInfoList.TargetClusterInfo; _i < _a.length; _i++) {
|
|
7761
|
+
var machineInfo = _a[_i];
|
|
7762
|
+
for (var _b = 0, _c = machineInfo.Processes.MachineInfoEx; _b < _c.length; _b++) {
|
|
7763
|
+
var machineInfoEx = _c[_b];
|
|
7764
|
+
retVal.push(machineInfoEx);
|
|
7765
|
+
}
|
|
7766
|
+
}
|
|
7767
|
+
_this.set("MachineInfoEx", retVal);
|
|
7768
|
+
return _this.CMachineInfoEx;
|
|
7769
|
+
});
|
|
7770
|
+
};
|
|
7771
|
+
TargetCluster.prototype.machineStats = function () {
|
|
7772
|
+
var maxDisk = 0;
|
|
7773
|
+
var totalFree = 0;
|
|
7774
|
+
var total = 0;
|
|
7775
|
+
for (var _i = 0, _a = this.CMachineInfoEx; _i < _a.length; _i++) {
|
|
7776
|
+
var machine = _a[_i];
|
|
7777
|
+
for (var _b = 0, _c = machine.Storage.StorageInfo; _b < _c.length; _b++) {
|
|
7778
|
+
var storageInfo = _c[_b];
|
|
7779
|
+
totalFree += storageInfo.Available;
|
|
7780
|
+
total += storageInfo.Total;
|
|
7781
|
+
var usage = 1 - storageInfo.Available / storageInfo.Total;
|
|
7782
|
+
if (usage > maxDisk) {
|
|
7783
|
+
maxDisk = usage;
|
|
7784
|
+
}
|
|
7785
|
+
}
|
|
7786
|
+
}
|
|
7787
|
+
return {
|
|
7788
|
+
maxDisk: maxDisk,
|
|
7789
|
+
meanDisk: 1 - (total ? totalFree / total : 1)
|
|
7790
|
+
};
|
|
7791
|
+
};
|
|
7792
|
+
TargetCluster.prototype.fetchUsage = function () {
|
|
7793
|
+
return this.machineConnection.GetTargetClusterUsageEx([this.Name]);
|
|
7794
|
+
};
|
|
7795
|
+
return TargetCluster;
|
|
7796
|
+
}(util.StateObject));
|
|
7797
|
+
function targetClusters(optsConnection) {
|
|
7798
|
+
var connection;
|
|
7799
|
+
if (optsConnection instanceof TopologyService) {
|
|
7800
|
+
connection = optsConnection;
|
|
7801
|
+
}
|
|
7802
|
+
else {
|
|
7803
|
+
connection = new TopologyService(optsConnection);
|
|
7804
|
+
}
|
|
7805
|
+
return connection.TpListTargetClusters({}).then(function (response) {
|
|
7806
|
+
return response.TargetClusters.TpClusterNameType.map(function (item) { return TargetCluster.attach(optsConnection, item.Name, item); });
|
|
7774
7807
|
});
|
|
7775
|
-
|
|
7776
|
-
|
|
7808
|
+
}
|
|
7809
|
+
var _defaultTargetCluster = {};
|
|
7810
|
+
function defaultTargetCluster(optsConnection) {
|
|
7811
|
+
if (!_defaultTargetCluster[optsConnection.baseUrl]) {
|
|
7812
|
+
var connection = void 0;
|
|
7813
|
+
if (optsConnection instanceof TopologyService) {
|
|
7814
|
+
connection = optsConnection;
|
|
7815
|
+
}
|
|
7816
|
+
else {
|
|
7817
|
+
connection = new TopologyService(optsConnection);
|
|
7818
|
+
}
|
|
7819
|
+
_defaultTargetCluster[optsConnection.baseUrl] = connection.TpListTargetClusters({}).then(function (response) {
|
|
7820
|
+
var firstItem;
|
|
7821
|
+
var defaultItem;
|
|
7822
|
+
var hthorItem;
|
|
7823
|
+
response.TargetClusters.TpClusterNameType.forEach(function (item) {
|
|
7824
|
+
if (!firstItem) {
|
|
7825
|
+
firstItem = item;
|
|
7826
|
+
}
|
|
7827
|
+
if (!defaultItem && item.IsDefault === true) {
|
|
7828
|
+
defaultItem = item;
|
|
7829
|
+
}
|
|
7830
|
+
if (!hthorItem && item.Type === "hthor") {
|
|
7831
|
+
hthorItem = item;
|
|
7832
|
+
}
|
|
7833
|
+
});
|
|
7834
|
+
var defItem = defaultItem || hthorItem || firstItem;
|
|
7835
|
+
return TargetCluster.attach(optsConnection, defItem.Name, defItem);
|
|
7836
|
+
});
|
|
7837
|
+
}
|
|
7838
|
+
return _defaultTargetCluster[optsConnection.baseUrl];
|
|
7839
|
+
}
|
|
7840
|
+
|
|
7841
|
+
var TopologyCache = /** @class */ (function (_super) {
|
|
7842
|
+
__extends(TopologyCache, _super);
|
|
7843
|
+
function TopologyCache() {
|
|
7844
|
+
return _super.call(this, function (obj) {
|
|
7845
|
+
return obj.BaseUrl;
|
|
7846
|
+
}) || this;
|
|
7847
|
+
}
|
|
7848
|
+
return TopologyCache;
|
|
7849
|
+
}(util.Cache));
|
|
7850
|
+
var _topology = new TopologyCache();
|
|
7851
|
+
var Topology = /** @class */ (function (_super) {
|
|
7852
|
+
__extends(Topology, _super);
|
|
7853
|
+
function Topology(optsConnection) {
|
|
7854
|
+
var _this = _super.call(this) || this;
|
|
7855
|
+
if (optsConnection instanceof TopologyService) {
|
|
7856
|
+
_this.connection = optsConnection;
|
|
7857
|
+
}
|
|
7858
|
+
else {
|
|
7859
|
+
_this.connection = new TopologyService(optsConnection);
|
|
7860
|
+
}
|
|
7861
|
+
return _this;
|
|
7862
|
+
}
|
|
7863
|
+
Object.defineProperty(Topology.prototype, "BaseUrl", {
|
|
7864
|
+
get: function () { return this.connection.baseUrl; },
|
|
7777
7865
|
enumerable: false,
|
|
7778
7866
|
configurable: true
|
|
7779
7867
|
});
|
|
7780
|
-
Object.defineProperty(
|
|
7781
|
-
|
|
7868
|
+
Object.defineProperty(Topology.prototype, "properties", {
|
|
7869
|
+
// Accessors ---
|
|
7870
|
+
get: function () { return this.get(); },
|
|
7782
7871
|
enumerable: false,
|
|
7783
7872
|
configurable: true
|
|
7784
7873
|
});
|
|
7785
|
-
Object.defineProperty(
|
|
7786
|
-
get: function () { return this.get("
|
|
7874
|
+
Object.defineProperty(Topology.prototype, "TargetClusters", {
|
|
7875
|
+
get: function () { return this.get("TargetClusters"); },
|
|
7787
7876
|
enumerable: false,
|
|
7788
7877
|
configurable: true
|
|
7789
7878
|
});
|
|
7790
|
-
Object.defineProperty(
|
|
7791
|
-
get: function () {
|
|
7879
|
+
Object.defineProperty(Topology.prototype, "CTargetClusters", {
|
|
7880
|
+
get: function () {
|
|
7881
|
+
var _this = this;
|
|
7882
|
+
return this.TargetClusters.map(function (tc) { return TargetCluster.attach(_this.connection, tc.Name, tc); });
|
|
7883
|
+
},
|
|
7792
7884
|
enumerable: false,
|
|
7793
7885
|
configurable: true
|
|
7794
7886
|
});
|
|
7795
|
-
Object.defineProperty(
|
|
7796
|
-
get: function () { return this.get("
|
|
7887
|
+
Object.defineProperty(Topology.prototype, "LogicalClusters", {
|
|
7888
|
+
get: function () { return this.get("LogicalClusters"); },
|
|
7797
7889
|
enumerable: false,
|
|
7798
7890
|
configurable: true
|
|
7799
7891
|
});
|
|
7800
|
-
Object.defineProperty(
|
|
7801
|
-
get: function () { return this.get("
|
|
7892
|
+
Object.defineProperty(Topology.prototype, "Services", {
|
|
7893
|
+
get: function () { return this.get("Services"); },
|
|
7802
7894
|
enumerable: false,
|
|
7803
7895
|
configurable: true
|
|
7804
7896
|
});
|
|
7805
|
-
|
|
7897
|
+
Topology.attach = function (optsConnection) {
|
|
7898
|
+
var retVal = _topology.get({ BaseUrl: optsConnection.baseUrl }, function () {
|
|
7899
|
+
return new Topology(optsConnection);
|
|
7900
|
+
});
|
|
7901
|
+
return retVal;
|
|
7902
|
+
};
|
|
7903
|
+
Topology.prototype.GetESPServiceBaseURL = function (type) {
|
|
7904
|
+
var _this = this;
|
|
7905
|
+
if (type === void 0) { type = ""; }
|
|
7906
|
+
return this.connection.TpServiceQuery({}).then(function (response) {
|
|
7907
|
+
var rootProtocol = _this.connection.protocol();
|
|
7908
|
+
var ip = _this.connection.ip();
|
|
7909
|
+
var port = rootProtocol === "https:" ? "18002" : "8002";
|
|
7910
|
+
if (util.exists("ServiceList.TpEspServers.TpEspServer", response)) {
|
|
7911
|
+
for (var _i = 0, _a = response.ServiceList.TpEspServers.TpEspServer; _i < _a.length; _i++) {
|
|
7912
|
+
var item = _a[_i];
|
|
7913
|
+
if (util.exists("TpBindings.TpBinding", item)) {
|
|
7914
|
+
for (var _b = 0, _c = item.TpBindings.TpBinding; _b < _c.length; _b++) {
|
|
7915
|
+
var binding = _c[_b];
|
|
7916
|
+
if (binding.Service === type && binding.Protocol + ":" === rootProtocol) {
|
|
7917
|
+
port = binding.Port;
|
|
7918
|
+
}
|
|
7919
|
+
}
|
|
7920
|
+
}
|
|
7921
|
+
}
|
|
7922
|
+
}
|
|
7923
|
+
return "".concat(rootProtocol, "//").concat(ip, ":").concat(port, "/");
|
|
7924
|
+
});
|
|
7925
|
+
};
|
|
7926
|
+
Topology.prototype.fetchTargetClusters = function () {
|
|
7927
|
+
var _this = this;
|
|
7928
|
+
return this.connection.TpTargetClusterQuery({ Type: "ROOT" }).then(function (response) {
|
|
7929
|
+
var _a, _b;
|
|
7930
|
+
_this.set({
|
|
7931
|
+
TargetClusters: (_b = (_a = response.TpTargetClusters) === null || _a === void 0 ? void 0 : _a.TpTargetCluster) !== null && _b !== void 0 ? _b : []
|
|
7932
|
+
});
|
|
7933
|
+
return _this.CTargetClusters;
|
|
7934
|
+
});
|
|
7935
|
+
};
|
|
7936
|
+
Topology.prototype.fetchLogicalClusters = function (request) {
|
|
7937
|
+
var _this = this;
|
|
7938
|
+
if (request === void 0) { request = {}; }
|
|
7939
|
+
return this.connection.TpLogicalClusterQuery(request).then(function (response) {
|
|
7940
|
+
_this.set({
|
|
7941
|
+
LogicalClusters: response.TpLogicalClusters.TpLogicalCluster
|
|
7942
|
+
});
|
|
7943
|
+
return _this.LogicalClusters;
|
|
7944
|
+
});
|
|
7945
|
+
};
|
|
7946
|
+
Topology.prototype.fetchServices = function (request) {
|
|
7947
|
+
var _this = this;
|
|
7948
|
+
if (request === void 0) { request = {}; }
|
|
7949
|
+
return this.connection.TpServiceQuery(request).then(function (response) {
|
|
7950
|
+
_this.set({
|
|
7951
|
+
Services: response.ServiceList
|
|
7952
|
+
});
|
|
7953
|
+
return _this.Services;
|
|
7954
|
+
});
|
|
7955
|
+
};
|
|
7956
|
+
Topology.prototype.refresh = function (force) {
|
|
7957
|
+
var _this = this;
|
|
7958
|
+
if (force === void 0) { force = false; }
|
|
7959
|
+
if (!this._prevRefresh || force) {
|
|
7960
|
+
this._prevRefresh = Promise.all([this.fetchTargetClusters(), this.fetchLogicalClusters(), this.fetchServices()]).then(function () {
|
|
7961
|
+
return _this;
|
|
7962
|
+
});
|
|
7963
|
+
}
|
|
7964
|
+
return this._prevRefresh;
|
|
7965
|
+
};
|
|
7966
|
+
// Monitoring ---
|
|
7967
|
+
// Events ---
|
|
7968
|
+
Topology.prototype.on = function (eventID, propIDorCallback, callback) {
|
|
7969
|
+
if (this.isCallback(propIDorCallback)) {
|
|
7970
|
+
switch (eventID) {
|
|
7971
|
+
case "changed":
|
|
7972
|
+
_super.prototype.on.call(this, eventID, propIDorCallback);
|
|
7973
|
+
break;
|
|
7974
|
+
}
|
|
7975
|
+
}
|
|
7976
|
+
else {
|
|
7977
|
+
switch (eventID) {
|
|
7978
|
+
case "changed":
|
|
7979
|
+
_super.prototype.on.call(this, eventID, propIDorCallback, callback);
|
|
7980
|
+
break;
|
|
7981
|
+
}
|
|
7982
|
+
}
|
|
7983
|
+
this._monitor();
|
|
7984
|
+
return this;
|
|
7985
|
+
};
|
|
7986
|
+
return Topology;
|
|
7987
|
+
}(util.StateObject));
|
|
7988
|
+
|
|
7989
|
+
var logger$1 = util.scopedLogger("@hpcc-js/comms/ecl/query.ts");
|
|
7990
|
+
var QueryCache = /** @class */ (function (_super) {
|
|
7991
|
+
__extends(QueryCache, _super);
|
|
7992
|
+
function QueryCache() {
|
|
7993
|
+
return _super.call(this, function (obj) {
|
|
7994
|
+
return util.Cache.hash([obj.QueryId, obj.QuerySet]);
|
|
7995
|
+
}) || this;
|
|
7996
|
+
}
|
|
7997
|
+
return QueryCache;
|
|
7998
|
+
}(util.Cache));
|
|
7999
|
+
var _queries = new QueryCache();
|
|
8000
|
+
var Query = /** @class */ (function (_super) {
|
|
8001
|
+
__extends(Query, _super);
|
|
8002
|
+
function Query(optsConnection, querySet, queryID, queryDetails) {
|
|
8003
|
+
var _this = _super.call(this) || this;
|
|
8004
|
+
if (optsConnection instanceof WorkunitsService) {
|
|
8005
|
+
_this.wsWorkunitsService = optsConnection;
|
|
8006
|
+
}
|
|
8007
|
+
else {
|
|
8008
|
+
_this.wsWorkunitsService = new WorkunitsService(optsConnection);
|
|
8009
|
+
}
|
|
8010
|
+
_this.topology = Topology.attach(_this.wsWorkunitsService.opts());
|
|
8011
|
+
_this.set(__assign({ QuerySet: querySet, QueryId: queryID }, queryDetails));
|
|
8012
|
+
return _this;
|
|
8013
|
+
}
|
|
8014
|
+
Object.defineProperty(Query.prototype, "BaseUrl", {
|
|
8015
|
+
get: function () { return this.wsWorkunitsService.baseUrl; },
|
|
8016
|
+
enumerable: false,
|
|
8017
|
+
configurable: true
|
|
8018
|
+
});
|
|
8019
|
+
Object.defineProperty(Query.prototype, "properties", {
|
|
8020
|
+
get: function () { return this.get(); },
|
|
8021
|
+
enumerable: false,
|
|
8022
|
+
configurable: true
|
|
8023
|
+
});
|
|
8024
|
+
Object.defineProperty(Query.prototype, "Exceptions", {
|
|
8025
|
+
get: function () { return this.get("Exceptions"); },
|
|
8026
|
+
enumerable: false,
|
|
8027
|
+
configurable: true
|
|
8028
|
+
});
|
|
8029
|
+
Object.defineProperty(Query.prototype, "QueryId", {
|
|
8030
|
+
get: function () { return this.get("QueryId"); },
|
|
8031
|
+
enumerable: false,
|
|
8032
|
+
configurable: true
|
|
8033
|
+
});
|
|
8034
|
+
Object.defineProperty(Query.prototype, "QuerySet", {
|
|
8035
|
+
get: function () { return this.get("QuerySet"); },
|
|
8036
|
+
enumerable: false,
|
|
8037
|
+
configurable: true
|
|
8038
|
+
});
|
|
8039
|
+
Object.defineProperty(Query.prototype, "QueryName", {
|
|
8040
|
+
get: function () { return this.get("QueryName"); },
|
|
8041
|
+
enumerable: false,
|
|
8042
|
+
configurable: true
|
|
8043
|
+
});
|
|
8044
|
+
Object.defineProperty(Query.prototype, "Wuid", {
|
|
8045
|
+
get: function () { return this.get("Wuid"); },
|
|
8046
|
+
enumerable: false,
|
|
8047
|
+
configurable: true
|
|
8048
|
+
});
|
|
8049
|
+
Object.defineProperty(Query.prototype, "Dll", {
|
|
8050
|
+
get: function () { return this.get("Dll"); },
|
|
8051
|
+
enumerable: false,
|
|
8052
|
+
configurable: true
|
|
8053
|
+
});
|
|
8054
|
+
Object.defineProperty(Query.prototype, "Suspended", {
|
|
8055
|
+
get: function () { return this.get("Suspended"); },
|
|
8056
|
+
enumerable: false,
|
|
8057
|
+
configurable: true
|
|
8058
|
+
});
|
|
8059
|
+
Object.defineProperty(Query.prototype, "Activated", {
|
|
8060
|
+
get: function () { return this.get("Activated"); },
|
|
8061
|
+
enumerable: false,
|
|
8062
|
+
configurable: true
|
|
8063
|
+
});
|
|
8064
|
+
Object.defineProperty(Query.prototype, "SuspendedBy", {
|
|
8065
|
+
get: function () { return this.get("SuspendedBy"); },
|
|
8066
|
+
enumerable: false,
|
|
8067
|
+
configurable: true
|
|
8068
|
+
});
|
|
8069
|
+
Object.defineProperty(Query.prototype, "Clusters", {
|
|
8070
|
+
get: function () { return this.get("Clusters"); },
|
|
8071
|
+
enumerable: false,
|
|
8072
|
+
configurable: true
|
|
8073
|
+
});
|
|
8074
|
+
Object.defineProperty(Query.prototype, "PublishedBy", {
|
|
8075
|
+
get: function () { return this.get("PublishedBy"); },
|
|
8076
|
+
enumerable: false,
|
|
8077
|
+
configurable: true
|
|
8078
|
+
});
|
|
8079
|
+
Object.defineProperty(Query.prototype, "Comment", {
|
|
8080
|
+
get: function () { return this.get("Comment"); },
|
|
8081
|
+
enumerable: false,
|
|
8082
|
+
configurable: true
|
|
8083
|
+
});
|
|
8084
|
+
Object.defineProperty(Query.prototype, "LogicalFiles", {
|
|
8085
|
+
get: function () { return this.get("LogicalFiles"); },
|
|
8086
|
+
enumerable: false,
|
|
8087
|
+
configurable: true
|
|
8088
|
+
});
|
|
8089
|
+
Object.defineProperty(Query.prototype, "SuperFiles", {
|
|
8090
|
+
get: function () { return this.get("SuperFiles"); },
|
|
8091
|
+
enumerable: false,
|
|
8092
|
+
configurable: true
|
|
8093
|
+
});
|
|
8094
|
+
Object.defineProperty(Query.prototype, "IsLibrary", {
|
|
8095
|
+
get: function () { return this.get("IsLibrary"); },
|
|
8096
|
+
enumerable: false,
|
|
8097
|
+
configurable: true
|
|
8098
|
+
});
|
|
8099
|
+
Object.defineProperty(Query.prototype, "Priority", {
|
|
8100
|
+
get: function () { return this.get("Priority"); },
|
|
8101
|
+
enumerable: false,
|
|
8102
|
+
configurable: true
|
|
8103
|
+
});
|
|
8104
|
+
Object.defineProperty(Query.prototype, "WUSnapShot", {
|
|
8105
|
+
get: function () { return this.get("WUSnapShot"); },
|
|
8106
|
+
enumerable: false,
|
|
8107
|
+
configurable: true
|
|
8108
|
+
});
|
|
8109
|
+
Object.defineProperty(Query.prototype, "CompileTime", {
|
|
8110
|
+
get: function () { return this.get("CompileTime"); },
|
|
8111
|
+
enumerable: false,
|
|
8112
|
+
configurable: true
|
|
8113
|
+
});
|
|
8114
|
+
Object.defineProperty(Query.prototype, "LibrariesUsed", {
|
|
8115
|
+
get: function () { return this.get("LibrariesUsed"); },
|
|
8116
|
+
enumerable: false,
|
|
8117
|
+
configurable: true
|
|
8118
|
+
});
|
|
8119
|
+
Object.defineProperty(Query.prototype, "CountGraphs", {
|
|
8120
|
+
get: function () { return this.get("CountGraphs"); },
|
|
8121
|
+
enumerable: false,
|
|
8122
|
+
configurable: true
|
|
8123
|
+
});
|
|
8124
|
+
Object.defineProperty(Query.prototype, "ResourceURLCount", {
|
|
8125
|
+
get: function () { return this.get("ResourceURLCount"); },
|
|
8126
|
+
enumerable: false,
|
|
8127
|
+
configurable: true
|
|
8128
|
+
});
|
|
8129
|
+
Object.defineProperty(Query.prototype, "WsEclAddresses", {
|
|
8130
|
+
get: function () { return this.get("WsEclAddresses"); },
|
|
8131
|
+
enumerable: false,
|
|
8132
|
+
configurable: true
|
|
8133
|
+
});
|
|
8134
|
+
Object.defineProperty(Query.prototype, "WUGraphs", {
|
|
8135
|
+
get: function () { return this.get("WUGraphs"); },
|
|
8136
|
+
enumerable: false,
|
|
8137
|
+
configurable: true
|
|
8138
|
+
});
|
|
8139
|
+
Object.defineProperty(Query.prototype, "WUTimers", {
|
|
7806
8140
|
get: function () { return this.get("WUTimers"); },
|
|
7807
8141
|
enumerable: false,
|
|
7808
8142
|
configurable: true
|
|
@@ -7813,17 +8147,40 @@
|
|
|
7813
8147
|
});
|
|
7814
8148
|
return retVal;
|
|
7815
8149
|
};
|
|
8150
|
+
Query.prototype.wsEclService = function () {
|
|
8151
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
8152
|
+
return __generator(this, function (_a) {
|
|
8153
|
+
if (!this._eclService) {
|
|
8154
|
+
this._eclService = this.topology.fetchServices({}).then(function (services) {
|
|
8155
|
+
var _a, _b, _c, _d;
|
|
8156
|
+
for (var _i = 0, _e = (_b = (_a = services === null || services === void 0 ? void 0 : services.TpEspServers) === null || _a === void 0 ? void 0 : _a.TpEspServer) !== null && _b !== void 0 ? _b : []; _i < _e.length; _i++) {
|
|
8157
|
+
var espServer = _e[_i];
|
|
8158
|
+
for (var _f = 0, _g = (_d = (_c = espServer === null || espServer === void 0 ? void 0 : espServer.TpBindings) === null || _c === void 0 ? void 0 : _c.TpBinding) !== null && _d !== void 0 ? _d : []; _f < _g.length; _f++) {
|
|
8159
|
+
var binding = _g[_f];
|
|
8160
|
+
if ((binding === null || binding === void 0 ? void 0 : binding.Service) === "ws_ecl") {
|
|
8161
|
+
var baseUrl = "".concat(binding.Protocol, "://").concat(globalThis.location.hostname, ":").concat(binding.Port);
|
|
8162
|
+
return new EclService({ baseUrl: baseUrl });
|
|
8163
|
+
}
|
|
8164
|
+
}
|
|
8165
|
+
}
|
|
8166
|
+
return undefined;
|
|
8167
|
+
});
|
|
8168
|
+
}
|
|
8169
|
+
return [2 /*return*/, this._eclService];
|
|
8170
|
+
});
|
|
8171
|
+
});
|
|
8172
|
+
};
|
|
7816
8173
|
Query.prototype.fetchDetails = function () {
|
|
7817
8174
|
return __awaiter(this, void 0, void 0, function () {
|
|
7818
8175
|
var queryDetails;
|
|
7819
8176
|
return __generator(this, function (_a) {
|
|
7820
8177
|
switch (_a.label) {
|
|
7821
|
-
case 0: return [4 /*yield*/, this.
|
|
8178
|
+
case 0: return [4 /*yield*/, this.wsWorkunitsService.WUQueryDetails({
|
|
7822
8179
|
QuerySet: this.QuerySet,
|
|
7823
8180
|
QueryId: this.QueryId,
|
|
7824
|
-
IncludeStateOnClusters:
|
|
7825
|
-
IncludeSuperFiles:
|
|
7826
|
-
IncludeWsEclAddresses:
|
|
8181
|
+
IncludeStateOnClusters: true,
|
|
8182
|
+
IncludeSuperFiles: true,
|
|
8183
|
+
IncludeWsEclAddresses: true,
|
|
7827
8184
|
CheckAllNodes: false
|
|
7828
8185
|
})];
|
|
7829
8186
|
case 1:
|
|
@@ -7835,31 +8192,57 @@
|
|
|
7835
8192
|
});
|
|
7836
8193
|
};
|
|
7837
8194
|
Query.prototype.fetchRequestSchema = function () {
|
|
8195
|
+
var _a;
|
|
7838
8196
|
return __awaiter(this, void 0, void 0, function () {
|
|
7839
|
-
var
|
|
7840
|
-
return __generator(this, function (
|
|
7841
|
-
switch (
|
|
7842
|
-
case 0:
|
|
7843
|
-
_a = this;
|
|
7844
|
-
return [4 /*yield*/, this.connection.requestJson(this.QuerySet, this.QueryId)];
|
|
8197
|
+
var wsEclService, _b, e_1;
|
|
8198
|
+
return __generator(this, function (_c) {
|
|
8199
|
+
switch (_c.label) {
|
|
8200
|
+
case 0: return [4 /*yield*/, this.wsEclService()];
|
|
7845
8201
|
case 1:
|
|
7846
|
-
|
|
7847
|
-
|
|
8202
|
+
wsEclService = _c.sent();
|
|
8203
|
+
_c.label = 2;
|
|
8204
|
+
case 2:
|
|
8205
|
+
_c.trys.push([2, 4, , 5]);
|
|
8206
|
+
_b = this;
|
|
8207
|
+
return [4 /*yield*/, (wsEclService === null || wsEclService === void 0 ? void 0 : wsEclService.requestJson(this.QuerySet, this.QueryId))];
|
|
8208
|
+
case 3:
|
|
8209
|
+
_b._requestSchema = (_a = _c.sent()) !== null && _a !== void 0 ? _a : [];
|
|
8210
|
+
return [3 /*break*/, 5];
|
|
8211
|
+
case 4:
|
|
8212
|
+
e_1 = _c.sent();
|
|
8213
|
+
// See: https://track.hpccsystems.com/browse/HPCC-29827
|
|
8214
|
+
logger$1.debug(e_1);
|
|
8215
|
+
this._requestSchema = [];
|
|
8216
|
+
return [3 /*break*/, 5];
|
|
8217
|
+
case 5: return [2 /*return*/];
|
|
7848
8218
|
}
|
|
7849
8219
|
});
|
|
7850
8220
|
});
|
|
7851
8221
|
};
|
|
7852
8222
|
Query.prototype.fetchResponseSchema = function () {
|
|
8223
|
+
var _a;
|
|
7853
8224
|
return __awaiter(this, void 0, void 0, function () {
|
|
7854
|
-
var
|
|
7855
|
-
return __generator(this, function (
|
|
7856
|
-
switch (
|
|
7857
|
-
case 0:
|
|
7858
|
-
_a = this;
|
|
7859
|
-
return [4 /*yield*/, this.connection.responseJson(this.QuerySet, this.QueryId)];
|
|
8225
|
+
var wsEclService, _b, e_2;
|
|
8226
|
+
return __generator(this, function (_c) {
|
|
8227
|
+
switch (_c.label) {
|
|
8228
|
+
case 0: return [4 /*yield*/, this.wsEclService()];
|
|
7860
8229
|
case 1:
|
|
7861
|
-
|
|
7862
|
-
|
|
8230
|
+
wsEclService = _c.sent();
|
|
8231
|
+
_c.label = 2;
|
|
8232
|
+
case 2:
|
|
8233
|
+
_c.trys.push([2, 4, , 5]);
|
|
8234
|
+
_b = this;
|
|
8235
|
+
return [4 /*yield*/, (wsEclService === null || wsEclService === void 0 ? void 0 : wsEclService.responseJson(this.QuerySet, this.QueryId))];
|
|
8236
|
+
case 3:
|
|
8237
|
+
_b._responseSchema = (_a = _c.sent()) !== null && _a !== void 0 ? _a : {};
|
|
8238
|
+
return [3 /*break*/, 5];
|
|
8239
|
+
case 4:
|
|
8240
|
+
e_2 = _c.sent();
|
|
8241
|
+
// See: https://track.hpccsystems.com/browse/HPCC-29827
|
|
8242
|
+
logger$1.debug(e_2);
|
|
8243
|
+
this._responseSchema = {};
|
|
8244
|
+
return [3 /*break*/, 5];
|
|
8245
|
+
case 5: return [2 /*return*/];
|
|
7863
8246
|
}
|
|
7864
8247
|
});
|
|
7865
8248
|
});
|
|
@@ -7877,14 +8260,33 @@
|
|
|
7877
8260
|
});
|
|
7878
8261
|
};
|
|
7879
8262
|
Query.prototype.fetchSummaryStats = function () {
|
|
7880
|
-
return this.
|
|
8263
|
+
return this.wsWorkunitsService.WUQueryGetSummaryStats({ Target: this.QuerySet, QueryId: this.QueryId });
|
|
7881
8264
|
};
|
|
7882
8265
|
Query.prototype.submit = function (request) {
|
|
7883
|
-
|
|
7884
|
-
|
|
7885
|
-
|
|
7886
|
-
|
|
7887
|
-
|
|
8266
|
+
var _a;
|
|
8267
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
8268
|
+
var wsEclService;
|
|
8269
|
+
return __generator(this, function (_b) {
|
|
8270
|
+
switch (_b.label) {
|
|
8271
|
+
case 0: return [4 /*yield*/, this.wsEclService()];
|
|
8272
|
+
case 1:
|
|
8273
|
+
wsEclService = _b.sent();
|
|
8274
|
+
try {
|
|
8275
|
+
return [2 /*return*/, (_a = wsEclService === null || wsEclService === void 0 ? void 0 : wsEclService.submit(this.QuerySet, this.QueryId, request).then(function (results) {
|
|
8276
|
+
for (var key in results) {
|
|
8277
|
+
results[key] = results[key].Row;
|
|
8278
|
+
}
|
|
8279
|
+
return results;
|
|
8280
|
+
})) !== null && _a !== void 0 ? _a : []];
|
|
8281
|
+
}
|
|
8282
|
+
catch (e) {
|
|
8283
|
+
// See: https://track.hpccsystems.com/browse/HPCC-29827
|
|
8284
|
+
logger$1.debug(e);
|
|
8285
|
+
return [2 /*return*/, []];
|
|
8286
|
+
}
|
|
8287
|
+
return [2 /*return*/];
|
|
8288
|
+
}
|
|
8289
|
+
});
|
|
7888
8290
|
});
|
|
7889
8291
|
};
|
|
7890
8292
|
Query.prototype.refresh = function () {
|
|
@@ -8087,341 +8489,6 @@
|
|
|
8087
8489
|
return Store;
|
|
8088
8490
|
}());
|
|
8089
8491
|
|
|
8090
|
-
var TargetClusterCache = /** @class */ (function (_super) {
|
|
8091
|
-
__extends(TargetClusterCache, _super);
|
|
8092
|
-
function TargetClusterCache() {
|
|
8093
|
-
return _super.call(this, function (obj) {
|
|
8094
|
-
return "".concat(obj.BaseUrl, "-").concat(obj.Name);
|
|
8095
|
-
}) || this;
|
|
8096
|
-
}
|
|
8097
|
-
return TargetClusterCache;
|
|
8098
|
-
}(util.Cache));
|
|
8099
|
-
var _targetCluster = new TargetClusterCache();
|
|
8100
|
-
var TargetCluster = /** @class */ (function (_super) {
|
|
8101
|
-
__extends(TargetCluster, _super);
|
|
8102
|
-
function TargetCluster(optsConnection, name) {
|
|
8103
|
-
var _this = _super.call(this) || this;
|
|
8104
|
-
if (optsConnection instanceof TopologyService) {
|
|
8105
|
-
_this.connection = optsConnection;
|
|
8106
|
-
_this.machineConnection = new MachineService(optsConnection.connectionOptions());
|
|
8107
|
-
}
|
|
8108
|
-
else {
|
|
8109
|
-
_this.connection = new TopologyService(optsConnection);
|
|
8110
|
-
_this.machineConnection = new MachineService(optsConnection);
|
|
8111
|
-
}
|
|
8112
|
-
_this.clear({
|
|
8113
|
-
Name: name
|
|
8114
|
-
});
|
|
8115
|
-
return _this;
|
|
8116
|
-
}
|
|
8117
|
-
Object.defineProperty(TargetCluster.prototype, "BaseUrl", {
|
|
8118
|
-
get: function () { return this.connection.baseUrl; },
|
|
8119
|
-
enumerable: false,
|
|
8120
|
-
configurable: true
|
|
8121
|
-
});
|
|
8122
|
-
Object.defineProperty(TargetCluster.prototype, "Name", {
|
|
8123
|
-
get: function () { return this.get("Name"); },
|
|
8124
|
-
enumerable: false,
|
|
8125
|
-
configurable: true
|
|
8126
|
-
});
|
|
8127
|
-
Object.defineProperty(TargetCluster.prototype, "Prefix", {
|
|
8128
|
-
get: function () { return this.get("Prefix"); },
|
|
8129
|
-
enumerable: false,
|
|
8130
|
-
configurable: true
|
|
8131
|
-
});
|
|
8132
|
-
Object.defineProperty(TargetCluster.prototype, "Type", {
|
|
8133
|
-
get: function () { return this.get("Type"); },
|
|
8134
|
-
enumerable: false,
|
|
8135
|
-
configurable: true
|
|
8136
|
-
});
|
|
8137
|
-
Object.defineProperty(TargetCluster.prototype, "IsDefault", {
|
|
8138
|
-
get: function () { return this.get("IsDefault"); },
|
|
8139
|
-
enumerable: false,
|
|
8140
|
-
configurable: true
|
|
8141
|
-
});
|
|
8142
|
-
Object.defineProperty(TargetCluster.prototype, "TpClusters", {
|
|
8143
|
-
get: function () { return this.get("TpClusters"); },
|
|
8144
|
-
enumerable: false,
|
|
8145
|
-
configurable: true
|
|
8146
|
-
});
|
|
8147
|
-
Object.defineProperty(TargetCluster.prototype, "TpEclCCServers", {
|
|
8148
|
-
get: function () { return this.get("TpEclCCServers"); },
|
|
8149
|
-
enumerable: false,
|
|
8150
|
-
configurable: true
|
|
8151
|
-
});
|
|
8152
|
-
Object.defineProperty(TargetCluster.prototype, "TpEclServers", {
|
|
8153
|
-
get: function () { return this.get("TpEclServers"); },
|
|
8154
|
-
enumerable: false,
|
|
8155
|
-
configurable: true
|
|
8156
|
-
});
|
|
8157
|
-
Object.defineProperty(TargetCluster.prototype, "TpEclAgents", {
|
|
8158
|
-
get: function () { return this.get("TpEclAgents"); },
|
|
8159
|
-
enumerable: false,
|
|
8160
|
-
configurable: true
|
|
8161
|
-
});
|
|
8162
|
-
Object.defineProperty(TargetCluster.prototype, "TpEclSchedulers", {
|
|
8163
|
-
get: function () { return this.get("TpEclSchedulers"); },
|
|
8164
|
-
enumerable: false,
|
|
8165
|
-
configurable: true
|
|
8166
|
-
});
|
|
8167
|
-
Object.defineProperty(TargetCluster.prototype, "MachineInfoEx", {
|
|
8168
|
-
get: function () { return this.get("MachineInfoEx", []); },
|
|
8169
|
-
enumerable: false,
|
|
8170
|
-
configurable: true
|
|
8171
|
-
});
|
|
8172
|
-
Object.defineProperty(TargetCluster.prototype, "CMachineInfoEx", {
|
|
8173
|
-
get: function () {
|
|
8174
|
-
var _this = this;
|
|
8175
|
-
return this.MachineInfoEx.map(function (machineInfoEx) { return Machine.attach(_this.machineConnection, machineInfoEx.Address, machineInfoEx); });
|
|
8176
|
-
},
|
|
8177
|
-
enumerable: false,
|
|
8178
|
-
configurable: true
|
|
8179
|
-
});
|
|
8180
|
-
TargetCluster.attach = function (optsConnection, name, state) {
|
|
8181
|
-
var retVal = _targetCluster.get({ BaseUrl: optsConnection.baseUrl, Name: name }, function () {
|
|
8182
|
-
return new TargetCluster(optsConnection, name);
|
|
8183
|
-
});
|
|
8184
|
-
if (state) {
|
|
8185
|
-
retVal.set(__assign({}, state));
|
|
8186
|
-
}
|
|
8187
|
-
return retVal;
|
|
8188
|
-
};
|
|
8189
|
-
TargetCluster.prototype.fetchMachines = function (request) {
|
|
8190
|
-
var _this = this;
|
|
8191
|
-
if (request === void 0) { request = {}; }
|
|
8192
|
-
return this.machineConnection.GetTargetClusterInfo(__assign({ TargetClusters: {
|
|
8193
|
-
Item: ["".concat(this.Type, ":").concat(this.Name)]
|
|
8194
|
-
} }, request)).then(function (response) {
|
|
8195
|
-
var retVal = [];
|
|
8196
|
-
for (var _i = 0, _a = response.TargetClusterInfoList.TargetClusterInfo; _i < _a.length; _i++) {
|
|
8197
|
-
var machineInfo = _a[_i];
|
|
8198
|
-
for (var _b = 0, _c = machineInfo.Processes.MachineInfoEx; _b < _c.length; _b++) {
|
|
8199
|
-
var machineInfoEx = _c[_b];
|
|
8200
|
-
retVal.push(machineInfoEx);
|
|
8201
|
-
}
|
|
8202
|
-
}
|
|
8203
|
-
_this.set("MachineInfoEx", retVal);
|
|
8204
|
-
return _this.CMachineInfoEx;
|
|
8205
|
-
});
|
|
8206
|
-
};
|
|
8207
|
-
TargetCluster.prototype.machineStats = function () {
|
|
8208
|
-
var maxDisk = 0;
|
|
8209
|
-
var totalFree = 0;
|
|
8210
|
-
var total = 0;
|
|
8211
|
-
for (var _i = 0, _a = this.CMachineInfoEx; _i < _a.length; _i++) {
|
|
8212
|
-
var machine = _a[_i];
|
|
8213
|
-
for (var _b = 0, _c = machine.Storage.StorageInfo; _b < _c.length; _b++) {
|
|
8214
|
-
var storageInfo = _c[_b];
|
|
8215
|
-
totalFree += storageInfo.Available;
|
|
8216
|
-
total += storageInfo.Total;
|
|
8217
|
-
var usage = 1 - storageInfo.Available / storageInfo.Total;
|
|
8218
|
-
if (usage > maxDisk) {
|
|
8219
|
-
maxDisk = usage;
|
|
8220
|
-
}
|
|
8221
|
-
}
|
|
8222
|
-
}
|
|
8223
|
-
return {
|
|
8224
|
-
maxDisk: maxDisk,
|
|
8225
|
-
meanDisk: 1 - (total ? totalFree / total : 1)
|
|
8226
|
-
};
|
|
8227
|
-
};
|
|
8228
|
-
TargetCluster.prototype.fetchUsage = function () {
|
|
8229
|
-
return this.machineConnection.GetTargetClusterUsageEx([this.Name]);
|
|
8230
|
-
};
|
|
8231
|
-
return TargetCluster;
|
|
8232
|
-
}(util.StateObject));
|
|
8233
|
-
function targetClusters(optsConnection) {
|
|
8234
|
-
var connection;
|
|
8235
|
-
if (optsConnection instanceof TopologyService) {
|
|
8236
|
-
connection = optsConnection;
|
|
8237
|
-
}
|
|
8238
|
-
else {
|
|
8239
|
-
connection = new TopologyService(optsConnection);
|
|
8240
|
-
}
|
|
8241
|
-
return connection.TpListTargetClusters({}).then(function (response) {
|
|
8242
|
-
return response.TargetClusters.TpClusterNameType.map(function (item) { return TargetCluster.attach(optsConnection, item.Name, item); });
|
|
8243
|
-
});
|
|
8244
|
-
}
|
|
8245
|
-
var _defaultTargetCluster = {};
|
|
8246
|
-
function defaultTargetCluster(optsConnection) {
|
|
8247
|
-
if (!_defaultTargetCluster[optsConnection.baseUrl]) {
|
|
8248
|
-
var connection = void 0;
|
|
8249
|
-
if (optsConnection instanceof TopologyService) {
|
|
8250
|
-
connection = optsConnection;
|
|
8251
|
-
}
|
|
8252
|
-
else {
|
|
8253
|
-
connection = new TopologyService(optsConnection);
|
|
8254
|
-
}
|
|
8255
|
-
_defaultTargetCluster[optsConnection.baseUrl] = connection.TpListTargetClusters({}).then(function (response) {
|
|
8256
|
-
var firstItem;
|
|
8257
|
-
var defaultItem;
|
|
8258
|
-
var hthorItem;
|
|
8259
|
-
response.TargetClusters.TpClusterNameType.forEach(function (item) {
|
|
8260
|
-
if (!firstItem) {
|
|
8261
|
-
firstItem = item;
|
|
8262
|
-
}
|
|
8263
|
-
if (!defaultItem && item.IsDefault === true) {
|
|
8264
|
-
defaultItem = item;
|
|
8265
|
-
}
|
|
8266
|
-
if (!hthorItem && item.Type === "hthor") {
|
|
8267
|
-
hthorItem = item;
|
|
8268
|
-
}
|
|
8269
|
-
});
|
|
8270
|
-
var defItem = defaultItem || hthorItem || firstItem;
|
|
8271
|
-
return TargetCluster.attach(optsConnection, defItem.Name, defItem);
|
|
8272
|
-
});
|
|
8273
|
-
}
|
|
8274
|
-
return _defaultTargetCluster[optsConnection.baseUrl];
|
|
8275
|
-
}
|
|
8276
|
-
|
|
8277
|
-
var TopologyCache = /** @class */ (function (_super) {
|
|
8278
|
-
__extends(TopologyCache, _super);
|
|
8279
|
-
function TopologyCache() {
|
|
8280
|
-
return _super.call(this, function (obj) {
|
|
8281
|
-
return obj.BaseUrl;
|
|
8282
|
-
}) || this;
|
|
8283
|
-
}
|
|
8284
|
-
return TopologyCache;
|
|
8285
|
-
}(util.Cache));
|
|
8286
|
-
var _topology = new TopologyCache();
|
|
8287
|
-
var Topology = /** @class */ (function (_super) {
|
|
8288
|
-
__extends(Topology, _super);
|
|
8289
|
-
function Topology(optsConnection) {
|
|
8290
|
-
var _this = _super.call(this) || this;
|
|
8291
|
-
if (optsConnection instanceof TopologyService) {
|
|
8292
|
-
_this.connection = optsConnection;
|
|
8293
|
-
}
|
|
8294
|
-
else {
|
|
8295
|
-
_this.connection = new TopologyService(optsConnection);
|
|
8296
|
-
}
|
|
8297
|
-
return _this;
|
|
8298
|
-
}
|
|
8299
|
-
Object.defineProperty(Topology.prototype, "BaseUrl", {
|
|
8300
|
-
get: function () { return this.connection.baseUrl; },
|
|
8301
|
-
enumerable: false,
|
|
8302
|
-
configurable: true
|
|
8303
|
-
});
|
|
8304
|
-
Object.defineProperty(Topology.prototype, "properties", {
|
|
8305
|
-
// Accessors ---
|
|
8306
|
-
get: function () { return this.get(); },
|
|
8307
|
-
enumerable: false,
|
|
8308
|
-
configurable: true
|
|
8309
|
-
});
|
|
8310
|
-
Object.defineProperty(Topology.prototype, "TargetClusters", {
|
|
8311
|
-
get: function () { return this.get("TargetClusters"); },
|
|
8312
|
-
enumerable: false,
|
|
8313
|
-
configurable: true
|
|
8314
|
-
});
|
|
8315
|
-
Object.defineProperty(Topology.prototype, "CTargetClusters", {
|
|
8316
|
-
get: function () {
|
|
8317
|
-
var _this = this;
|
|
8318
|
-
return this.TargetClusters.map(function (tc) { return TargetCluster.attach(_this.connection, tc.Name, tc); });
|
|
8319
|
-
},
|
|
8320
|
-
enumerable: false,
|
|
8321
|
-
configurable: true
|
|
8322
|
-
});
|
|
8323
|
-
Object.defineProperty(Topology.prototype, "LogicalClusters", {
|
|
8324
|
-
get: function () { return this.get("LogicalClusters"); },
|
|
8325
|
-
enumerable: false,
|
|
8326
|
-
configurable: true
|
|
8327
|
-
});
|
|
8328
|
-
Object.defineProperty(Topology.prototype, "Services", {
|
|
8329
|
-
get: function () { return this.get("Services"); },
|
|
8330
|
-
enumerable: false,
|
|
8331
|
-
configurable: true
|
|
8332
|
-
});
|
|
8333
|
-
Topology.attach = function (optsConnection) {
|
|
8334
|
-
var retVal = _topology.get({ BaseUrl: optsConnection.baseUrl }, function () {
|
|
8335
|
-
return new Topology(optsConnection);
|
|
8336
|
-
});
|
|
8337
|
-
return retVal;
|
|
8338
|
-
};
|
|
8339
|
-
Topology.prototype.GetESPServiceBaseURL = function (type) {
|
|
8340
|
-
var _this = this;
|
|
8341
|
-
if (type === void 0) { type = ""; }
|
|
8342
|
-
return this.connection.TpServiceQuery({}).then(function (response) {
|
|
8343
|
-
var rootProtocol = _this.connection.protocol();
|
|
8344
|
-
var ip = _this.connection.ip();
|
|
8345
|
-
var port = rootProtocol === "https:" ? "18002" : "8002";
|
|
8346
|
-
if (util.exists("ServiceList.TpEspServers.TpEspServer", response)) {
|
|
8347
|
-
for (var _i = 0, _a = response.ServiceList.TpEspServers.TpEspServer; _i < _a.length; _i++) {
|
|
8348
|
-
var item = _a[_i];
|
|
8349
|
-
if (util.exists("TpBindings.TpBinding", item)) {
|
|
8350
|
-
for (var _b = 0, _c = item.TpBindings.TpBinding; _b < _c.length; _b++) {
|
|
8351
|
-
var binding = _c[_b];
|
|
8352
|
-
if (binding.Service === type && binding.Protocol + ":" === rootProtocol) {
|
|
8353
|
-
port = binding.Port;
|
|
8354
|
-
}
|
|
8355
|
-
}
|
|
8356
|
-
}
|
|
8357
|
-
}
|
|
8358
|
-
}
|
|
8359
|
-
return "".concat(rootProtocol, "//").concat(ip, ":").concat(port, "/");
|
|
8360
|
-
});
|
|
8361
|
-
};
|
|
8362
|
-
Topology.prototype.fetchTargetClusters = function () {
|
|
8363
|
-
var _this = this;
|
|
8364
|
-
return this.connection.TpTargetClusterQuery({ Type: "ROOT" }).then(function (response) {
|
|
8365
|
-
var _a, _b;
|
|
8366
|
-
_this.set({
|
|
8367
|
-
TargetClusters: (_b = (_a = response.TpTargetClusters) === null || _a === void 0 ? void 0 : _a.TpTargetCluster) !== null && _b !== void 0 ? _b : []
|
|
8368
|
-
});
|
|
8369
|
-
return _this.CTargetClusters;
|
|
8370
|
-
});
|
|
8371
|
-
};
|
|
8372
|
-
Topology.prototype.fetchLogicalClusters = function (request) {
|
|
8373
|
-
var _this = this;
|
|
8374
|
-
if (request === void 0) { request = {}; }
|
|
8375
|
-
return this.connection.TpLogicalClusterQuery(request).then(function (response) {
|
|
8376
|
-
_this.set({
|
|
8377
|
-
LogicalClusters: response.TpLogicalClusters.TpLogicalCluster
|
|
8378
|
-
});
|
|
8379
|
-
return _this.LogicalClusters;
|
|
8380
|
-
});
|
|
8381
|
-
};
|
|
8382
|
-
Topology.prototype.fetchServices = function (request) {
|
|
8383
|
-
var _this = this;
|
|
8384
|
-
if (request === void 0) { request = {}; }
|
|
8385
|
-
return this.connection.TpServiceQuery(request).then(function (response) {
|
|
8386
|
-
_this.set({
|
|
8387
|
-
Services: response.ServiceList
|
|
8388
|
-
});
|
|
8389
|
-
return _this.Services;
|
|
8390
|
-
});
|
|
8391
|
-
};
|
|
8392
|
-
Topology.prototype.refresh = function (force) {
|
|
8393
|
-
var _this = this;
|
|
8394
|
-
if (force === void 0) { force = false; }
|
|
8395
|
-
if (!this._prevRefresh || force) {
|
|
8396
|
-
this._prevRefresh = Promise.all([this.fetchTargetClusters(), this.fetchLogicalClusters(), this.fetchServices()]).then(function () {
|
|
8397
|
-
return _this;
|
|
8398
|
-
});
|
|
8399
|
-
}
|
|
8400
|
-
return this._prevRefresh;
|
|
8401
|
-
};
|
|
8402
|
-
// Monitoring ---
|
|
8403
|
-
// Events ---
|
|
8404
|
-
Topology.prototype.on = function (eventID, propIDorCallback, callback) {
|
|
8405
|
-
if (this.isCallback(propIDorCallback)) {
|
|
8406
|
-
switch (eventID) {
|
|
8407
|
-
case "changed":
|
|
8408
|
-
_super.prototype.on.call(this, eventID, propIDorCallback);
|
|
8409
|
-
break;
|
|
8410
|
-
}
|
|
8411
|
-
}
|
|
8412
|
-
else {
|
|
8413
|
-
switch (eventID) {
|
|
8414
|
-
case "changed":
|
|
8415
|
-
_super.prototype.on.call(this, eventID, propIDorCallback, callback);
|
|
8416
|
-
break;
|
|
8417
|
-
}
|
|
8418
|
-
}
|
|
8419
|
-
this._monitor();
|
|
8420
|
-
return this;
|
|
8421
|
-
};
|
|
8422
|
-
return Topology;
|
|
8423
|
-
}(util.StateObject));
|
|
8424
|
-
|
|
8425
8492
|
var logger = util.scopedLogger("@hpcc-js/comms/dfuWorkunit.ts");
|
|
8426
8493
|
var States;
|
|
8427
8494
|
(function (States) {
|