@camunda8/orchestration-cluster-api 8.9.0-alpha.11 → 8.9.0-alpha.13
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/CHANGELOG.md +14 -2
- package/dist/{chunk-TA4NPVIS.js → chunk-ULXL7H75.js} +46 -9
- package/dist/chunk-ULXL7H75.js.map +1 -0
- package/dist/fp/index.cjs +45 -8
- package/dist/fp/index.cjs.map +1 -1
- package/dist/fp/index.d.cts +1 -1
- package/dist/fp/index.d.ts +1 -1
- package/dist/fp/index.js +1 -1
- package/dist/{index-CvMgO1LN.d.ts → index-Bps8dBEQ.d.ts} +18 -12
- package/dist/{index-Cw6GHVq6.d.cts → index-Cwx7jNBm.d.cts} +18 -12
- package/dist/index.cjs +45 -8
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-TA4NPVIS.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,9 +1,21 @@
|
|
|
1
|
-
# [8.9.0-alpha.
|
|
1
|
+
# [8.9.0-alpha.13](https://github.com/camunda/orchestration-cluster-api-js/compare/v8.9.0-alpha.12...v8.9.0-alpha.13) (2026-03-09)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* add backoff-at-floor to backpressure algorithm ([a0504bc](https://github.com/camunda/orchestration-cluster-api-js/commit/a0504bcdfd3e24c47e168cddc59aeae957bfc8dd))
|
|
2
7
|
|
|
8
|
+
# [8.9.0-alpha.12](https://github.com/camunda/orchestration-cluster-api-js/compare/v8.9.0-alpha.11...v8.9.0-alpha.12) (2026-03-08)
|
|
9
|
+
|
|
10
|
+
### Features
|
|
11
|
+
|
|
12
|
+
- build from hardened contract in 8.9 ([03ef35a](https://github.com/camunda/orchestration-cluster-api-js/commit/03ef35a9cda1913bf11bd42b07ae95829d4118cc))
|
|
13
|
+
|
|
14
|
+
# [8.9.0-alpha.11](https://github.com/camunda/orchestration-cluster-api-js/compare/v8.9.0-alpha.10...v8.9.0-alpha.11) (2026-03-06)
|
|
3
15
|
|
|
4
16
|
### Features
|
|
5
17
|
|
|
6
|
-
|
|
18
|
+
- add per-operation retry config. New tuning for backpressure ([9dd921a](https://github.com/camunda/orchestration-cluster-api-js/commit/9dd921a0eae67d56d0e8a7d6423ac7d8a3edd3b4))
|
|
7
19
|
|
|
8
20
|
# [8.9.0-alpha.10](https://github.com/camunda/orchestration-cluster-api-js/compare/v8.9.0-alpha.9...v8.9.0-alpha.10) (2026-03-05)
|
|
9
21
|
|
|
@@ -5754,9 +5754,9 @@ var zDecisionInstanceResult = z.object({
|
|
|
5754
5754
|
description: "The name of the DMN decision."
|
|
5755
5755
|
}),
|
|
5756
5756
|
decisionDefinitionType: zDecisionDefinitionTypeEnum,
|
|
5757
|
-
decisionDefinitionVersion: z.
|
|
5757
|
+
decisionDefinitionVersion: z.int().register(z.globalRegistry, {
|
|
5758
5758
|
description: "The version of the decision."
|
|
5759
|
-
})
|
|
5759
|
+
}),
|
|
5760
5760
|
decisionEvaluationInstanceKey: zDecisionEvaluationInstanceKey,
|
|
5761
5761
|
decisionEvaluationKey: zDecisionEvaluationKey,
|
|
5762
5762
|
elementInstanceKey: z.union([
|
|
@@ -6658,7 +6658,7 @@ var zProblemDetail = z.object({
|
|
|
6658
6658
|
var zProcessDefinitionFilter = z.object({
|
|
6659
6659
|
name: z.optional(zStringFilterProperty),
|
|
6660
6660
|
isLatestVersion: z.optional(z.boolean().register(z.globalRegistry, {
|
|
6661
|
-
description: "Whether to only return the latest version of each process definition.\nWhen using this filter, pagination functionality is limited, you can only paginate forward using `after` and `limit`.\nThe response contains no `startCursor` in the `page`, and requests ignore the `from` and `before` in the `page`.\n"
|
|
6661
|
+
description: "Whether to only return the latest version of each process definition.\nWhen using this filter, pagination functionality is limited, you can only paginate forward using `after` and `limit`.\nThe response contains no `startCursor` in the `page`, and requests ignore the `from` and `before` in the `page`.\nWhen using this filter, sorting is limited to `processDefinitionId` and `tenantId` fields only.\n"
|
|
6662
6662
|
})),
|
|
6663
6663
|
resourceName: z.optional(z.string().register(z.globalRegistry, {
|
|
6664
6664
|
description: "Resource name of this process definition."
|
|
@@ -7683,7 +7683,8 @@ var zProcessInstanceSearchQuerySortRequest = z.object({
|
|
|
7683
7683
|
"endDate",
|
|
7684
7684
|
"state",
|
|
7685
7685
|
"hasIncident",
|
|
7686
|
-
"tenantId"
|
|
7686
|
+
"tenantId",
|
|
7687
|
+
"businessId"
|
|
7687
7688
|
]).register(z.globalRegistry, {
|
|
7688
7689
|
description: "The field to sort by."
|
|
7689
7690
|
}),
|
|
@@ -9126,7 +9127,8 @@ var zBaseProcessInstanceFilterFields = z.object({
|
|
|
9126
9127
|
description: "Whether the element instance has an incident or not."
|
|
9127
9128
|
})),
|
|
9128
9129
|
incidentErrorHashCode: z.optional(zIntegerFilterProperty),
|
|
9129
|
-
tags: z.optional(zTagSet)
|
|
9130
|
+
tags: z.optional(zTagSet),
|
|
9131
|
+
businessId: z.optional(zStringFilterProperty)
|
|
9130
9132
|
}).register(z.globalRegistry, {
|
|
9131
9133
|
description: "Base process instance search filter."
|
|
9132
9134
|
});
|
|
@@ -12424,7 +12426,7 @@ function installAuthInterceptor(client2, getStrategy, getAuthHeaders) {
|
|
|
12424
12426
|
}
|
|
12425
12427
|
|
|
12426
12428
|
// src/runtime/version.ts
|
|
12427
|
-
var packageVersion = "8.9.0-alpha.
|
|
12429
|
+
var packageVersion = "8.9.0-alpha.13";
|
|
12428
12430
|
|
|
12429
12431
|
// src/runtime/supportLogger.ts
|
|
12430
12432
|
var NoopSupportLogger = class {
|
|
@@ -13224,6 +13226,7 @@ async function executeWithHttpRetry(fn, policy, logger, classify = defaultHttpCl
|
|
|
13224
13226
|
var BackpressureManager = class {
|
|
13225
13227
|
logger;
|
|
13226
13228
|
now;
|
|
13229
|
+
sleep;
|
|
13227
13230
|
cfg;
|
|
13228
13231
|
severity = "healthy";
|
|
13229
13232
|
consecutive = 0;
|
|
@@ -13236,9 +13239,12 @@ var BackpressureManager = class {
|
|
|
13236
13239
|
observeOnly = false;
|
|
13237
13240
|
healthySince = 0;
|
|
13238
13241
|
// timestamp when severity last became healthy
|
|
13242
|
+
backoffMs = 0;
|
|
13243
|
+
// current backoff delay in ms (0 = no backoff)
|
|
13239
13244
|
constructor(opts = {}) {
|
|
13240
13245
|
this.logger = opts.logger;
|
|
13241
13246
|
this.now = opts.now || (() => Date.now());
|
|
13247
|
+
this.sleep = opts.sleep || ((ms) => new Promise((r) => setTimeout(r, ms)));
|
|
13242
13248
|
this.cfg = {
|
|
13243
13249
|
enabled: true,
|
|
13244
13250
|
initialMaxConcurrency: null,
|
|
@@ -13252,6 +13258,9 @@ var BackpressureManager = class {
|
|
|
13252
13258
|
maxWaiters: 1e3,
|
|
13253
13259
|
healthyRecoveryMultiplier: 1.5,
|
|
13254
13260
|
unlimitedAfterHealthyMs: 3e4,
|
|
13261
|
+
backoffInitialMs: 25,
|
|
13262
|
+
backoffMaxMs: 2e3,
|
|
13263
|
+
backoffEscalate: 2,
|
|
13255
13264
|
...opts.config
|
|
13256
13265
|
};
|
|
13257
13266
|
this.observeOnly = !!this.cfg.observeOnly;
|
|
@@ -13267,7 +13276,8 @@ var BackpressureManager = class {
|
|
|
13267
13276
|
// When disabled, report unlimited semantics explicitly
|
|
13268
13277
|
permitsMax: this.cfg.enabled === false ? null : this.permitsMax,
|
|
13269
13278
|
permitsCurrent: this.cfg.enabled === false ? 0 : this.permitsCurrent,
|
|
13270
|
-
waiters: this.waiters.length
|
|
13279
|
+
waiters: this.waiters.length,
|
|
13280
|
+
backoffMs: this.backoffMs
|
|
13271
13281
|
};
|
|
13272
13282
|
}
|
|
13273
13283
|
log(evt, data, prevSeverity) {
|
|
@@ -13289,6 +13299,10 @@ var BackpressureManager = class {
|
|
|
13289
13299
|
if (this.observeOnly) return;
|
|
13290
13300
|
if (!this.isEnabled()) return;
|
|
13291
13301
|
if (this.permitsMax === null) return;
|
|
13302
|
+
if (this.backoffMs > 0) {
|
|
13303
|
+
await this.sleep(this.backoffMs);
|
|
13304
|
+
if (this.permitsMax === null) return;
|
|
13305
|
+
}
|
|
13292
13306
|
if (this.permitsCurrent < (this.permitsMax || 0)) {
|
|
13293
13307
|
this.permitsCurrent++;
|
|
13294
13308
|
return;
|
|
@@ -13352,11 +13366,23 @@ var BackpressureManager = class {
|
|
|
13352
13366
|
} else if (this.severity === "soft") {
|
|
13353
13367
|
if (!this.observeOnly) this.scalePermits(this.cfg.reduceFactor);
|
|
13354
13368
|
}
|
|
13369
|
+
if (!this.observeOnly && this.permitsMax !== null && this.permitsMax <= this.cfg.floorConcurrency && this.severity === "severe") {
|
|
13370
|
+
if (this.backoffMs === 0) {
|
|
13371
|
+
this.backoffMs = this.cfg.backoffInitialMs;
|
|
13372
|
+
} else {
|
|
13373
|
+
this.backoffMs = Math.min(this.cfg.backoffMaxMs, this.backoffMs * this.cfg.backoffEscalate);
|
|
13374
|
+
}
|
|
13375
|
+
this.log("backoff.escalate", { delayMs: this.backoffMs });
|
|
13376
|
+
}
|
|
13355
13377
|
if (this.severity !== prevSeverity)
|
|
13356
13378
|
this.log("severity", { severity: this.severity }, prevSeverity);
|
|
13357
13379
|
}
|
|
13358
13380
|
recordHealthyHint() {
|
|
13359
13381
|
if (!this.cfg.enabled && !this.observeOnly) return;
|
|
13382
|
+
if (this.backoffMs > 0) {
|
|
13383
|
+
this.backoffMs = 0;
|
|
13384
|
+
this.log("backoff.clear", { reason: "healthy-hint" });
|
|
13385
|
+
}
|
|
13360
13386
|
const now2 = this.now();
|
|
13361
13387
|
this.maybeRecover(now2);
|
|
13362
13388
|
}
|
|
@@ -13380,13 +13406,23 @@ var BackpressureManager = class {
|
|
|
13380
13406
|
this.healthySince = now2;
|
|
13381
13407
|
}
|
|
13382
13408
|
if (this.severity === "healthy") this.consecutive = 0;
|
|
13383
|
-
if (prev !== this.severity)
|
|
13409
|
+
if (prev !== this.severity) {
|
|
13410
|
+
if (this.backoffMs > 0) {
|
|
13411
|
+
this.backoffMs = 0;
|
|
13412
|
+
this.log("backoff.clear", { reason: "severity-decay" });
|
|
13413
|
+
}
|
|
13414
|
+
this.log("severity", { severity: this.severity }, prev);
|
|
13415
|
+
}
|
|
13384
13416
|
}
|
|
13385
13417
|
if (this.permitsMax !== null) {
|
|
13386
13418
|
const bootstrapCap = this.cfg.initialMaxConcurrency ?? 16;
|
|
13387
13419
|
if (this.severity !== "healthy") {
|
|
13388
13420
|
if (this.permitsMax < bootstrapCap) {
|
|
13389
13421
|
this.permitsMax = Math.min(bootstrapCap, this.permitsMax + this.cfg.recoveryStep);
|
|
13422
|
+
if (this.permitsMax > this.cfg.floorConcurrency && this.backoffMs > 0) {
|
|
13423
|
+
this.backoffMs = 0;
|
|
13424
|
+
this.log("backoff.clear", { reason: "left-floor" });
|
|
13425
|
+
}
|
|
13390
13426
|
this.log("permits.recover", { max: this.permitsMax, phase: "additive" }, this.severity);
|
|
13391
13427
|
this.release();
|
|
13392
13428
|
}
|
|
@@ -13394,6 +13430,7 @@ var BackpressureManager = class {
|
|
|
13394
13430
|
if (this.healthySince > 0 && now2 - this.healthySince >= this.cfg.unlimitedAfterHealthyMs) {
|
|
13395
13431
|
this.permitsMax = null;
|
|
13396
13432
|
this.permitsCurrent = 0;
|
|
13433
|
+
this.backoffMs = 0;
|
|
13397
13434
|
while (this.waiters.length) {
|
|
13398
13435
|
const w = this.waiters.shift();
|
|
13399
13436
|
try {
|
|
@@ -23513,4 +23550,4 @@ export {
|
|
|
23513
23550
|
withTimeoutTE,
|
|
23514
23551
|
eventuallyTE
|
|
23515
23552
|
};
|
|
23516
|
-
//# sourceMappingURL=chunk-
|
|
23553
|
+
//# sourceMappingURL=chunk-ULXL7H75.js.map
|