@cadenza.io/service 2.17.77 → 2.17.79
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/browser/index.js +153 -0
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/index.mjs +153 -0
- package/dist/browser/index.mjs.map +1 -1
- package/dist/index.js +153 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +153 -0
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/browser/index.js
CHANGED
|
@@ -813,6 +813,18 @@ function normalizeServiceRegistryInsertResult(tableName, ctx, queryData, rawResu
|
|
|
813
813
|
}
|
|
814
814
|
return result;
|
|
815
815
|
}
|
|
816
|
+
function shouldTraceIotDbRegistryPath(localServiceName, targetServiceName) {
|
|
817
|
+
return targetServiceName === "IotDbService" && localServiceName !== "IotDbService";
|
|
818
|
+
}
|
|
819
|
+
function summarizeTransportDescriptors(transports) {
|
|
820
|
+
return transports.map((transport) => ({
|
|
821
|
+
uuid: transport.uuid,
|
|
822
|
+
serviceInstanceId: transport.serviceInstanceId,
|
|
823
|
+
role: transport.role,
|
|
824
|
+
origin: transport.origin,
|
|
825
|
+
protocols: transport.protocols
|
|
826
|
+
}));
|
|
827
|
+
}
|
|
816
828
|
function resolveServiceRegistryInsertTask(tableName, queryData = {}, options = {}) {
|
|
817
829
|
const remoteInsertTask = CadenzaService.createCadenzaDBInsertTask(
|
|
818
830
|
tableName,
|
|
@@ -1203,6 +1215,21 @@ var ServiceRegistry = class _ServiceRegistry {
|
|
|
1203
1215
|
trackedInstance.acceptingWork = snapshot.acceptingWork;
|
|
1204
1216
|
trackedInstance.reportedAt = trackedInstance.reportedAt ?? (/* @__PURE__ */ new Date()).toISOString();
|
|
1205
1217
|
}
|
|
1218
|
+
if (shouldTraceIotDbRegistryPath(this.serviceName, serviceName)) {
|
|
1219
|
+
console.log("[CADENZA_REGISTRY_DEBUG] handle_instance_update", {
|
|
1220
|
+
localServiceName: this.serviceName,
|
|
1221
|
+
localServiceInstanceId: this.serviceInstanceId,
|
|
1222
|
+
targetServiceName: serviceName,
|
|
1223
|
+
targetServiceInstanceId: uuid7,
|
|
1224
|
+
existingInstance: !!existing,
|
|
1225
|
+
deleted,
|
|
1226
|
+
remoteInterest: this.deputies.has(serviceName) || this.remoteIntents.has(serviceName) || this.remoteSignals.has(serviceName),
|
|
1227
|
+
hasDeputies: this.deputies.has(serviceName),
|
|
1228
|
+
hasRemoteIntents: this.remoteIntents.has(serviceName),
|
|
1229
|
+
hasRemoteSignals: this.remoteSignals.has(serviceName),
|
|
1230
|
+
transports: trackedInstance ? summarizeTransportDescriptors(trackedInstance.transports) : []
|
|
1231
|
+
});
|
|
1232
|
+
}
|
|
1206
1233
|
if (!serviceInstance.isBootstrapPlaceholder) {
|
|
1207
1234
|
this.reconcileBootstrapPlaceholderInstance(serviceName, uuid7, emit);
|
|
1208
1235
|
}
|
|
@@ -1258,6 +1285,27 @@ var ServiceRegistry = class _ServiceRegistry {
|
|
|
1258
1285
|
break;
|
|
1259
1286
|
}
|
|
1260
1287
|
}
|
|
1288
|
+
if (shouldTraceIotDbRegistryPath(
|
|
1289
|
+
this.serviceName,
|
|
1290
|
+
ownerInstance?.serviceName ?? ctx.serviceName ?? void 0
|
|
1291
|
+
)) {
|
|
1292
|
+
console.log("[CADENZA_REGISTRY_DEBUG] handle_transport_update", {
|
|
1293
|
+
localServiceName: this.serviceName,
|
|
1294
|
+
localServiceInstanceId: this.serviceInstanceId,
|
|
1295
|
+
transport: {
|
|
1296
|
+
uuid: transport.uuid,
|
|
1297
|
+
serviceInstanceId: transport.serviceInstanceId,
|
|
1298
|
+
role: transport.role,
|
|
1299
|
+
origin: transport.origin,
|
|
1300
|
+
protocols: transport.protocols,
|
|
1301
|
+
deleted: transport.deleted
|
|
1302
|
+
},
|
|
1303
|
+
ownerFound: !!ownerInstance,
|
|
1304
|
+
ownerServiceName: ownerInstance?.serviceName,
|
|
1305
|
+
ownerInstanceId: ownerInstance?.uuid,
|
|
1306
|
+
ownerTransports: ownerInstance ? summarizeTransportDescriptors(ownerInstance.transports) : []
|
|
1307
|
+
});
|
|
1308
|
+
}
|
|
1261
1309
|
if (!ownerInstance) {
|
|
1262
1310
|
return false;
|
|
1263
1311
|
}
|
|
@@ -1313,12 +1361,29 @@ var ServiceRegistry = class _ServiceRegistry {
|
|
|
1313
1361
|
"Tracks remote dependency instances for runtime heartbeat monitoring."
|
|
1314
1362
|
).doOn("meta.service_registry.dependee_registered");
|
|
1315
1363
|
const normalizeServiceInstancesFromSync = (ctx) => this.normalizeServiceInstancesFromSync(ctx);
|
|
1364
|
+
const getLocalTraceContext = () => ({
|
|
1365
|
+
localServiceName: this.serviceName,
|
|
1366
|
+
localServiceInstanceId: this.serviceInstanceId
|
|
1367
|
+
});
|
|
1316
1368
|
CadenzaService.createMetaTask("Split service instances", function* (ctx) {
|
|
1317
1369
|
const serviceInstances = normalizeServiceInstancesFromSync(ctx);
|
|
1318
1370
|
if (serviceInstances.length === 0) {
|
|
1319
1371
|
return;
|
|
1320
1372
|
}
|
|
1321
1373
|
for (const serviceInstance of serviceInstances) {
|
|
1374
|
+
const { localServiceName, localServiceInstanceId } = getLocalTraceContext();
|
|
1375
|
+
if (shouldTraceIotDbRegistryPath(
|
|
1376
|
+
localServiceName,
|
|
1377
|
+
serviceInstance.serviceName
|
|
1378
|
+
)) {
|
|
1379
|
+
console.log("[CADENZA_REGISTRY_DEBUG] split_service_instance", {
|
|
1380
|
+
localServiceName,
|
|
1381
|
+
localServiceInstanceId,
|
|
1382
|
+
targetServiceName: serviceInstance.serviceName,
|
|
1383
|
+
targetServiceInstanceId: serviceInstance.uuid,
|
|
1384
|
+
transports: summarizeTransportDescriptors(serviceInstance.transports)
|
|
1385
|
+
});
|
|
1386
|
+
}
|
|
1322
1387
|
yield { serviceInstance };
|
|
1323
1388
|
}
|
|
1324
1389
|
}).doOn(
|
|
@@ -1576,6 +1641,21 @@ var ServiceRegistry = class _ServiceRegistry {
|
|
|
1576
1641
|
const serviceInstances = this.normalizeServiceInstancesFromSync(
|
|
1577
1642
|
inquiryResult
|
|
1578
1643
|
);
|
|
1644
|
+
if (shouldTraceIotDbRegistryPath(this.serviceName, "IotDbService")) {
|
|
1645
|
+
const tracedInstances = serviceInstances.filter((instance) => instance.serviceName === "IotDbService").map((instance) => ({
|
|
1646
|
+
uuid: instance.uuid,
|
|
1647
|
+
isActive: instance.isActive,
|
|
1648
|
+
isNonResponsive: instance.isNonResponsive,
|
|
1649
|
+
isBlocked: instance.isBlocked,
|
|
1650
|
+
transports: summarizeTransportDescriptors(instance.transports)
|
|
1651
|
+
}));
|
|
1652
|
+
console.log("[CADENZA_REGISTRY_DEBUG] full_sync_instances", {
|
|
1653
|
+
localServiceName: this.serviceName,
|
|
1654
|
+
localServiceInstanceId: this.serviceInstanceId,
|
|
1655
|
+
totalServiceInstances: serviceInstances.length,
|
|
1656
|
+
tracedInstances
|
|
1657
|
+
});
|
|
1658
|
+
}
|
|
1579
1659
|
return {
|
|
1580
1660
|
...ctx,
|
|
1581
1661
|
signalToTaskMaps,
|
|
@@ -1672,6 +1752,44 @@ var ServiceRegistry = class _ServiceRegistry {
|
|
|
1672
1752
|
let retries = __retries ?? 0;
|
|
1673
1753
|
let triedInstances = __triedInstances ?? [];
|
|
1674
1754
|
const preferredRole = this.getRoutingTransportRole();
|
|
1755
|
+
const allInstances = this.instances.get(__serviceName) ?? [];
|
|
1756
|
+
const candidateDiagnostics = shouldTraceIotDbRegistryPath(
|
|
1757
|
+
this.serviceName,
|
|
1758
|
+
__serviceName ?? void 0
|
|
1759
|
+
) ? allInstances.map((instance) => ({
|
|
1760
|
+
uuid: instance.uuid,
|
|
1761
|
+
isActive: instance.isActive,
|
|
1762
|
+
isNonResponsive: instance.isNonResponsive,
|
|
1763
|
+
isBlocked: instance.isBlocked,
|
|
1764
|
+
isFrontend: instance.isFrontend,
|
|
1765
|
+
transports: summarizeTransportDescriptors(instance.transports),
|
|
1766
|
+
selectedTransport: instance.isFrontend ? null : this.selectTransportForInstance(
|
|
1767
|
+
instance,
|
|
1768
|
+
context,
|
|
1769
|
+
preferredRole
|
|
1770
|
+
) ? {
|
|
1771
|
+
uuid: this.selectTransportForInstance(
|
|
1772
|
+
instance,
|
|
1773
|
+
context,
|
|
1774
|
+
preferredRole
|
|
1775
|
+
).uuid,
|
|
1776
|
+
role: this.selectTransportForInstance(
|
|
1777
|
+
instance,
|
|
1778
|
+
context,
|
|
1779
|
+
preferredRole
|
|
1780
|
+
).role,
|
|
1781
|
+
origin: this.selectTransportForInstance(
|
|
1782
|
+
instance,
|
|
1783
|
+
context,
|
|
1784
|
+
preferredRole
|
|
1785
|
+
).origin,
|
|
1786
|
+
protocols: this.selectTransportForInstance(
|
|
1787
|
+
instance,
|
|
1788
|
+
context,
|
|
1789
|
+
preferredRole
|
|
1790
|
+
).protocols
|
|
1791
|
+
} : null
|
|
1792
|
+
})) : void 0;
|
|
1675
1793
|
const instances = this.instances.get(__serviceName)?.filter((instance) => {
|
|
1676
1794
|
if (targetServiceInstanceId && instance.uuid !== targetServiceInstanceId) {
|
|
1677
1795
|
return false;
|
|
@@ -1704,6 +1822,20 @@ var ServiceRegistry = class _ServiceRegistry {
|
|
|
1704
1822
|
}
|
|
1705
1823
|
return (a.numberOfRunningGraphs ?? 0) - (b.numberOfRunningGraphs ?? 0);
|
|
1706
1824
|
});
|
|
1825
|
+
if (candidateDiagnostics) {
|
|
1826
|
+
console.log("[CADENZA_REGISTRY_DEBUG] get_balanced_instance", {
|
|
1827
|
+
localServiceName: this.serviceName,
|
|
1828
|
+
localServiceInstanceId: this.serviceInstanceId,
|
|
1829
|
+
targetServiceName: __serviceName,
|
|
1830
|
+
preferredRole,
|
|
1831
|
+
useSocket: this.useSocket,
|
|
1832
|
+
targetServiceInstanceId,
|
|
1833
|
+
retries,
|
|
1834
|
+
triedInstances,
|
|
1835
|
+
candidateDiagnostics,
|
|
1836
|
+
filteredInstanceIds: instances?.map((instance) => instance.uuid) ?? []
|
|
1837
|
+
});
|
|
1838
|
+
}
|
|
1707
1839
|
if (!instances || instances.length === 0 || retries > this.retryCount) {
|
|
1708
1840
|
context.errored = true;
|
|
1709
1841
|
context.__error = this.isFrontend && preferredRole === "public" ? `No public transport available for ${__serviceName}.` : `No routeable ${preferredRole} transport available for ${__serviceName}. Retries: ${retries}.`;
|
|
@@ -2830,6 +2962,27 @@ var ServiceRegistry = class _ServiceRegistry {
|
|
|
2830
2962
|
instance,
|
|
2831
2963
|
this.useSocket ? "socket" : "rest"
|
|
2832
2964
|
);
|
|
2965
|
+
if (shouldTraceIotDbRegistryPath(this.serviceName, instance.serviceName)) {
|
|
2966
|
+
console.log("[CADENZA_REGISTRY_DEBUG] ensure_dependee_client_for_instance", {
|
|
2967
|
+
localServiceName: this.serviceName,
|
|
2968
|
+
localServiceInstanceId: this.serviceInstanceId,
|
|
2969
|
+
targetServiceName: instance.serviceName,
|
|
2970
|
+
targetServiceInstanceId: instance.uuid,
|
|
2971
|
+
useSocket: this.useSocket,
|
|
2972
|
+
routeableRole: this.getRoutingTransportRole(),
|
|
2973
|
+
hasDeputies: this.deputies.has(instance.serviceName),
|
|
2974
|
+
hasRemoteIntents: this.remoteIntents.has(instance.serviceName),
|
|
2975
|
+
hasRemoteSignals: this.remoteSignals.has(instance.serviceName),
|
|
2976
|
+
clientCreatedTransportIds: instance.clientCreatedTransportIds ?? [],
|
|
2977
|
+
transports: summarizeTransportDescriptors(instance.transports),
|
|
2978
|
+
selectedTransport: transport ? {
|
|
2979
|
+
uuid: transport.uuid,
|
|
2980
|
+
role: transport.role,
|
|
2981
|
+
origin: transport.origin,
|
|
2982
|
+
protocols: transport.protocols
|
|
2983
|
+
} : null
|
|
2984
|
+
});
|
|
2985
|
+
}
|
|
2833
2986
|
if (!transport || this.hasTransportClientCreated(instance, transport.uuid)) {
|
|
2834
2987
|
return false;
|
|
2835
2988
|
}
|