@onlineapps/conn-orch-registry 8.0.0 → 9.0.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/CHANGELOG.md +65 -0
- package/README.md +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,71 @@ All notable changes to this package. Follows [Keep a Changelog](https://keepacha
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [9.0.1] — 2026-10-15
|
|
8
|
+
|
|
9
|
+
pin: `@onlineapps/mq-client-core` 6.0.0 → 6.0.1
|
|
10
|
+
|
|
11
|
+
- Pin-only vydání: kód balíčku se od 9.0.0 nezměnil (od commitu vydání 9.0.0 jen pin a lock, `cf1659f79`).
|
|
12
|
+
Publikovaný tarball 9.0.0 pinoval `@onlineapps/mq-client-core` 6.0.0, zdroj pinuje 6.0.1 od after-601 A
|
|
13
|
+
(`cf1659f79`). 6.0.1 nese opravu conf `mq-publish-buffer` 003 (cesta (b) po fatálu odmítá:
|
|
14
|
+
`MQ_CONNECTION_FATAL`, `buffered: false`); s tarballem 9.0.0 se k volajícímu nedostala, strom
|
|
15
|
+
spotřebitele resolvoval vnořenou 6.0.0. d.1498.
|
|
16
|
+
|
|
17
|
+
## [9.0.0] — 2026-10-12
|
|
18
|
+
|
|
19
|
+
### Changed — BREAKING — zděděné chování `@onlineapps/mq-client-core` 6.0.0 (platí s pinem 6.0.0, který přijde s vydáním jádra; d.1361, d.1363)
|
|
20
|
+
|
|
21
|
+
`QueueManager` je tenký průchod k `BaseClient` jádra — `publish()` (`src/queueManager.js:225-226`)
|
|
22
|
+
a `consume()` (`:242-243`) předávají volání i odmítnutí beze změny. Z jádra tenhle balíček nic
|
|
23
|
+
znovu nevydává (`src/index.js`: `ServiceRegistryClient`, `RegistryEventConsumer`, `EVENTS`) a
|
|
24
|
+
konfiguraci jádra nepropouští (`BaseClient` se staví s pevnými klíči `type`, `host`,
|
|
25
|
+
`serviceName`, `logger`, `src/queueManager.js:73-78`), takže odebrání `criticalHealthShutdown`
|
|
26
|
+
a `health:shutdown` (jádro d.1275) volajícího nezasáhne. Co z CHANGELOGu jádra projde k
|
|
27
|
+
volajícímu veřejnými metodami `ServiceRegistryClient`, jakmile se pin `@onlineapps/mq-client-core`
|
|
28
|
+
zvedne z 5.1.0 na 6.0.0 (zdejší kód se nemění):
|
|
29
|
+
|
|
30
|
+
- **`sendHeartbeat()` a `deregister()` propouštějí `PublishError` jádra neobalený**
|
|
31
|
+
(`src/registryClient.js:931`, `:880`; volby `{ persistent: true }`, tedy výchozí
|
|
32
|
+
`bufferOnFailure: true`). S jádrem 6.0.0 (d.1300): publish, jehož čekání na obnovu skončí
|
|
33
|
+
standby (vyčerpaný cyklus), odmítne `PublishError` s `buffered: true`, `sent: false` — dřív
|
|
34
|
+
bez `buffered` — a zprávu DRŽÍ v bufferu; přehraje ji po příštím `reconnected`/`unblocked`.
|
|
35
|
+
Skončí-li obnova fatálně, nese chyba `code: 'MQ_CONNECTION_FATAL'` a `reason`
|
|
36
|
+
(`'cycles-spent'` | `'broker-refused'`) přímo na sobě; nic se nedrží. Volající, který po
|
|
37
|
+
odmítnutí posílal heartbeat nebo deregistraci znovu sám, ji teď může poslat dvakrát.
|
|
38
|
+
Smyčka `startHeartbeat()` počítá odmítnutý beat jako selhání dál stejně (obal s `cause`).
|
|
39
|
+
- **`init()` předává `code`/`reason` chyby `consume()` na svůj obal** (`src/registryClient.js:305`
|
|
40
|
+
→ `_startRegistryConsumer`, `:370-371`). S jádrem 6.0.0 (d.1297) nese chyba `consume()` po
|
|
41
|
+
fatálním cyklu `code: 'MQ_CONNECTION_FATAL'` a `reason` NAHOŘE (dřív jen v `cause`, obal měl
|
|
42
|
+
`code` `undefined`). Volající, který podle `error.code` rozhoduje — `@onlineapps/service-wrapper`
|
|
43
|
+
v bootu (`ServiceWrapper.js`, větve `error.code !== 'MQ_CONNECTION_FATAL'`) — bere týž výpadek
|
|
44
|
+
jako TRVALÝ konec bootu, ne přechodný. Standby, `disconnect()` a `reconnectEnabled: false`
|
|
45
|
+
`code` dál nenesou.
|
|
46
|
+
- **`register()` — zpráva držená přes standby se přehraje i po odmítnutí** (`src/registryClient.js:777`,
|
|
47
|
+
`:798-801`). `register()` chybu publishe obaluje (`Failed to send registration message: <věta
|
|
48
|
+
jádra>`, bez `code`) a čekající registraci zruší; zprávu `register`, kterou jádro 6.0.0 po
|
|
49
|
+
standby drží (d.1300), ale po reconnectu přehraje — registr tak dostane registraci, o které
|
|
50
|
+
volající ví, že selhala; její odpověď skončí řádkem WARN
|
|
51
|
+
„Registration response has no matching pending request“ (`:519`). Sousední cesta (přechodná chyba →
|
|
52
|
+
čekání na běžící reconnect → selhání) držela zprávu už v 5.1.0; 6.0.0 přidává standby.
|
|
53
|
+
|
|
54
|
+
Precedent: `@onlineapps/conn-infra-mq` `[Unreleased]` „BREAKING — zděděné chování
|
|
55
|
+
`@onlineapps/mq-client-core` 6.0.0“ a `@onlineapps/conn-orch-cookbook` `[7.0.0]`. Rozhodnutí
|
|
56
|
+
leada d.1361: major 9.0.0.
|
|
57
|
+
|
|
58
|
+
### Tests — brána „broker pod alarmem“ IT tieru má jedno tělo v repu (d.1326)
|
|
59
|
+
|
|
60
|
+
- `refuseBrokerUnderAlarm` z `tests/integration/setup.js` (originál, d.775/d.783) přesunut do
|
|
61
|
+
`api/scripts/tests/brokerAlarm.js` vedle `sweepOrphanQueues.js` (d.1320), kam z tohoto tieru
|
|
62
|
+
odešel i sweep; `setup.js` ho volá `refuseBrokerUnderAlarm({ ask: mgmtReader(config), context,
|
|
63
|
+
where })` — čtenář zůstává zdejší `mgmtReader` (rozpočet `withinBudget`). Věta odmítnutí beze
|
|
64
|
+
změny tvrzení (`environmentProbe.integration.test.js`: `[conn-orch-registry/integration] The
|
|
65
|
+
broker is under a resource alarm and is blocking publishers`, `memory on rabbit@…`, `HTTP 503
|
|
66
|
+
from <host:port>`); `Fix` nově jmenuje i `rabbitmq-diagnostics -q alarms`.
|
|
67
|
+
- Čtyři otázky `change-discipline.md` § Removing (za všechny tři kopie): četl je jen `setup.js`
|
|
68
|
+
každého tieru (+ unit testy wrapperu a mq-client-core); psal je každý tier zvlášť (tři
|
|
69
|
+
implementace, měřeno `diff`); nahrazuje je jedno tělo s injektovaným čtenářem; porušení se
|
|
70
|
+
pozná větou alarmu v globalSetup tieru před prvním testem (IT `environmentProbe` to drží stubem).
|
|
71
|
+
|
|
7
72
|
## [8.0.0] — 2026-10-03
|
|
8
73
|
|
|
9
74
|
pin: `@onlineapps/mq-client-core` 5.0.0 → 5.1.0
|
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@ Uniform: [library/orchestration](../conn-orch-validator/manifests/library.manife
|
|
|
6
6
|
|
|
7
7
|
Duty sections that apply:
|
|
8
8
|
|
|
9
|
-
- `all`: L-MAIN, L-ENGINES, L-TESTS, L-TEST-SCRIPT, L-PACK-TESTS, L-PINS, L-NO-FILE-RANGE, L-CHANGELOG, L-README, L-README-REGION, L-CONSUMER
|
|
9
|
+
- `all`: L-MAIN, L-ENGINES, L-TESTS, L-TEST-SCRIPT, L-PACK-TESTS, L-PINS, L-NO-FILE-RANGE, L-CHANGELOG, L-PACK-CHANGELOG, L-README, L-README-REGION, L-CONSUMER
|
|
10
10
|
<!-- END GENERATED: library-uniform -->
|
|
11
11
|
|
|
12
12
|
# @onlineapps/conn-orch-registry
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@onlineapps/conn-orch-registry",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "9.0.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "conn-orch-registry provides the core communication mechanism for microservices in this environment. It enables them to interact with a services_registry to receive and fulfill tasks by submitting heartbeats or their API descriptions.",
|
|
6
6
|
"keywords": [
|
|
@@ -38,8 +38,8 @@
|
|
|
38
38
|
"access": "public"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@onlineapps/logger-contract": "2.
|
|
42
|
-
"@onlineapps/mq-client-core": "
|
|
41
|
+
"@onlineapps/logger-contract": "2.1.0",
|
|
42
|
+
"@onlineapps/mq-client-core": "6.0.1",
|
|
43
43
|
"uuid": "^9.0.1"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|