[LocalDb] Publish 0.3.7 and adopt in ScadaBridge + OtOpcUa (tombstone fix #16) #53
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
LocalDb
0.3.7(scadaprojbe5e9fd, #16) fixes deleted-row resurrection when a peer is offline longer thanTombstoneRetention. Source only; not published.To adopt:
ApiKeyenforcement (#36), FK-ordered snapshots, PK upserts).0.3.4pin → 0.3.7 (a ScadaBridge issue gets filed when it's published). Note #36: set the same syncApiKeyon both site-pair nodes.0.3.4pin → 0.3.7 (lmxopcua issue at publish time). SameApiKeynote for the QA pair.sf_messages).Published
ZB.MOM.WW.LocalDb0.3.7 (all three packages) on 2026-11-12. Built from scadaproj30a12ddin Release, 259/259 tests passing. Index commit:ccfcc7c. 0.3.7 includes the unpublished 0.3.5 (Sqlite 10.0.13) and 0.3.6 changes: syncApiKeyenforcement (#36), FK-ordered snapshots (#37), PK upserts (#38), the snapshot drift guard (#39), the AUTOINCREMENT refusal (#46) and snapshot dead-letter metrics (#50). It also includes the #16 tombstone fix.Feed registration lists 0.3.7 for all three packages. The SHA256 of each downloaded copy matches the local nupkg:
5ac1db336e9b71700cd253bfe986acc13d24d0286fcc38bb277317845c8923215e7a6fce04f415720f9a6aac7e21ca43d1e842f6a74282120ae8aae2a62eb824f579f1218ccc279836841c06e2989e8d0d67009866548eeea6e162d4eb45b07dAdoption
main@12fa7aff(ScadaBridge#130, closed): 11,188 tests passed with 0 failures, excluding Playwright, which needs a browser server on :3000.master@e3031654(lmxopcua#889, closed): 20,033 passed, 415 skipped, and 1 load flake that passes when re-run alone. Host.IntegrationTests passed 313 (the LocalDb pair harness).Config: every replicated pair already had one identical key on both nodes: the ScadaBridge rig site-a pair and the OtOpcUa docker-dev site-a pair. The OtOpcUa compose key is now
${OTOPCUA_SITE_A_LOCALDB_SYNC_KEY:-…}, one variable shared by both nodes. Neither repo holds a QA template with a literal key; the runbooks prescribe${secret:…}or an env var.Deploy notes (added to both repos' runbooks; nothing is deployed, and vd03/vq03/vq04 still run 0.3.4 builds):
LocalDb:Replication:ApiKeymust be byte-identical on both nodes. Both the library (since 0.3.6) and the host interceptor check it, and a mismatch stops convergence withUnauthenticated.sf_messagesandsite_eventsdeletes, OtOpcUa deployment prunes andalarm_sf_events. The optionalTombstoneHardCapbounds that growth at the price of the old risk.AUTOINCREMENTreplicated keys. Neither app has any.No live docker 2-node check was run: a lmxopcua#799 soak container was active, and both rigs were started by someone else, so I did not restart them. Replication coverage comes from the in-process real-gRPC pair harnesses in both suites.