Runtime no-op rebuild test snapshots an incomplete first apply #805

Closed
opened 2026-11-10 15:24:10 -05:00 by dohertj2 · 1 comment
Owner

Discovered during #782 CI3: OpcUaPublishActorRebuildTests.Second_rebuild_with_same_artifact_is_empty_plan_no_op snapshots sink calls after observing only EF:eq-1, before the first apply's later NA:line-1 announcement. It can report expected1/actual2 even though the second rebuild performs no materialisation. Actor/test source is byte-identical between SDK1.5 master230cef4e and pre-fix SDK2 candidate04d5513a.

A controlled test-double gate after EF reproduced exactly1→2 with completed calls EF:eq-1,NA:line-1 and two apply completions. No repeated EF occurs. The causal fix asks for and awaits each correlated, non-degraded RebuildCompleted reply before taking the first snapshot/checking the second result. Original EF/no-full-rebuild/unchanged-call-count assertions and PresenceBudget remain; Sleep200 is removed. No production code, expected application result, timeout budget or skip changes.

Astra inspected source ordering plus controlled RED/GREEN and approved one-file test fix b5f51406. SDK2 owning Runtime suite passes1002/0fail/3existing retired-fixture skips. Independent SDK1.5 master-target validation is running before landing; final evidence and resolution commit will follow. This is a preexisting test-ordering bug, not a new production idempotence regression.

Discovered during #782 CI3: `OpcUaPublishActorRebuildTests.Second_rebuild_with_same_artifact_is_empty_plan_no_op` snapshots sink calls after observing only `EF:eq-1`, before the first apply's later `NA:line-1` announcement. It can report expected1/actual2 even though the second rebuild performs no materialisation. Actor/test source is byte-identical between SDK1.5 master230cef4e and pre-fix SDK2 candidate04d5513a. A controlled test-double gate after EF reproduced exactly1→2 with completed calls `EF:eq-1,NA:line-1` and two apply completions. No repeated EF occurs. The causal fix asks for and awaits each correlated, non-degraded `RebuildCompleted` reply before taking the first snapshot/checking the second result. Original EF/no-full-rebuild/unchanged-call-count assertions and PresenceBudget remain; Sleep200 is removed. No production code, expected application result, timeout budget or skip changes. Astra inspected source ordering plus controlled RED/GREEN and approved one-file test fix b5f51406. SDK2 owning Runtime suite passes1002/0fail/3existing retired-fixture skips. Independent SDK1.5 master-target validation is running before landing; final evidence and resolution commit will follow. This is a preexisting test-ordering bug, not a new production idempotence regression.
dohertj2 added the type:testpriority:p2 labels 2026-11-10 15:24:10 -05:00
Author
Owner

Fixed and pushed independently to master in 52d1373e, then merged into the SDK2 candidate. The change touches only the test: both requests ask for outcomes, both replies must match correlation and be non-degraded, and all existing EF/no-full-rebuild/unchanged-call-count assertions remain. Fixed sleep removed; no expected application result or timing budget changed.

Controlled old ordering reproduces1→2 with only EF:eq-1 plus first-apply NA:line-1. Controlled corrected ordering passes. Astra independently verified source causality and approved. Both final SDK2 and independent SDK1.5 master owning Runtime suites pass1,002 tests, zero failures, three existing retired-fixture skips; builds and execution guards pass. No production edit or new skip. Closing the baseline test-ordering defect; SDK2 resource/release gates remain separate.

Fixed and pushed independently to master in [52d1373e](https://gitea.dohertylan.com/dohertj2/lmxopcua/commit/52d1373e), then merged into the SDK2 candidate. The change touches only the test: both requests ask for outcomes, both replies must match correlation and be non-degraded, and all existing EF/no-full-rebuild/unchanged-call-count assertions remain. Fixed sleep removed; no expected application result or timing budget changed. Controlled old ordering reproduces1→2 with only EF:eq-1 plus first-apply NA:line-1. Controlled corrected ordering passes. Astra independently verified source causality and approved. Both final SDK2 and independent SDK1.5 master owning Runtime suites pass1,002 tests, zero failures, three existing retired-fixture skips; builds and execution guards pass. No production edit or new skip. Closing the baseline test-ordering defect; SDK2 resource/release gates remain separate.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dohertj2/lmxopcua#805