Adopt ZB.MOM.WW.LocalDb 0.3.7 (scadaproj#53) #889

Closed
opened 2026-11-12 13:44:22 -05:00 by dohertj2 · 1 comment
Owner

Adopt ZB.MOM.WW.LocalDb 0.3.7 (published 2026-11-12), tracking dohertj2/scadaproj#53.

  • Bump the 0.3.4 pins in Directory.Packages.props to 0.3.7.
  • 0.3.6 (scadaproj#36): the library sync service now enforces LocalDb:Replication:ApiKey itself. The host LocalDbSyncAuthInterceptor stays for its refuse-when-blank rule. Every replicated pair must carry the same key on both nodes.
  • 0.3.7 (scadaproj#16): a tombstone is held until the peer has it, so no resurrection after a long outage. The cost is ledger growth while a peer is down. Optional TombstoneHardCap.
  • Deploy notes: stop and start the pair together, set the key on both nodes.
Adopt ZB.MOM.WW.LocalDb 0.3.7 (published 2026-11-12), tracking dohertj2/scadaproj#53. - Bump the `0.3.4` pins in `Directory.Packages.props` to `0.3.7`. - 0.3.6 (scadaproj#36): the library sync service now enforces `LocalDb:Replication:ApiKey` itself. The host `LocalDbSyncAuthInterceptor` stays for its refuse-when-blank rule. Every replicated pair must carry the same key on both nodes. - 0.3.7 (scadaproj#16): a tombstone is held until the peer has it, so no resurrection after a long outage. The cost is ledger growth while a peer is down. Optional `TombstoneHardCap`. - Deploy notes: stop and start the pair together, set the key on both nodes.
dohertj2 added the type:followuppriority:p2cross-repo labels 2026-11-12 13:44:22 -05:00
Author
Owner

Done in master @ e3031654. LocalDb and .Replication are pinned at 0.3.7, with no code change. In the docker-dev site-a pair, both nodes now read the single OTOPCUA_SITE_A_LOCALDB_SYNC_KEY variable. The dev default is unchanged, so an override cannot split the pair. Confirmed with docker compose config.

Docs updated:

  • The LocalDb pair-replication runbook (ApiKey rule, and tombstones held until delivered)
  • Configuration.md (new TombstoneHardCap row)
  • The cluster-topology rule
  • The interceptor doc comment

Tests (Release): 20,033 passed, 415 skipped, 1 failed. Host.IntegrationTests passed 313 with 2 skipped, covering the LocalDb pair harness, convergence and the interceptor. The one failure was ServerHostNameValidationTests...validate: False in Driver.OpcUaClient.IntegrationTests. It passes 4/4 when re-run alone, so it is a load flake and unrelated. Not deployed. QA vq03/vq04 needs a byte-identical key on both nodes, and the pair stops and starts together. Parent: dohertj2/scadaproj#53.

Done in `master` @ `e3031654`. LocalDb and .Replication are pinned at `0.3.7`, with no code change. In the docker-dev site-a pair, both nodes now read the single `OTOPCUA_SITE_A_LOCALDB_SYNC_KEY` variable. The dev default is unchanged, so an override cannot split the pair. Confirmed with `docker compose config`. Docs updated: - The LocalDb pair-replication runbook (ApiKey rule, and tombstones held until delivered) - Configuration.md (new `TombstoneHardCap` row) - The cluster-topology rule - The interceptor doc comment Tests (Release): 20,033 passed, 415 skipped, 1 failed. Host.IntegrationTests passed 313 with 2 skipped, covering the LocalDb pair harness, convergence and the interceptor. The one failure was `ServerHostNameValidationTests...validate: False` in Driver.OpcUaClient.IntegrationTests. It passes 4/4 when re-run alone, so it is a load flake and unrelated. Not deployed. QA vq03/vq04 needs a byte-identical key on both nodes, and the pair stops and starts together. Parent: dohertj2/scadaproj#53.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dohertj2/lmxopcua#889