Repository navigation
Conversation
|
|
The separated parent-history correction passes ECS idempotence and full PHPStan. Exact 83c runtime plus its coordinated regression passes the entire parallel-child barrier class on MariaDB 10.5 and MySQL 8.4: 15 tests / 416 assertions on each, no skips/errors/failures. The runtime file is byte-identical to reviewed d7. The unchanged accepted 5b runtime with the strengthened regression fails deterministically in the same parent-run deadlock (one test / 27 assertions, one failure, zero errors). Both child history inserts are retained uncommitted, the first child's parent lock is observed, and only then is the second child released. This distinguishes per-run locking from the original table-scan lock cycle without adding a retry. All captured IDs are independently absent. Current source |
|
Security bounded source review of
Current exact-head repository preflight is terminal NONPASS: the corpus policy reports that a replay-classified implementation changed while the corpus count stayed 138, and the build correctly fails its required-preflight dependency. Do not merge or treat the isolated PR as a full source gate. Compose the exact three-file correction with reviewed #1140 as planned, then return the combined head with the required corpus/current CI/default-Maria/full backend evidence. No standalone full-Maria, main merge, release or Saga whole-head authority is inferred. |
|
The exact reviewed parent-history component and coordinated regression are now preserved in active core prerequisite #1140 at 12467c2. The replay-growth guard remains unchanged and the composed clock fixture retains its own purpose. Full combined backend/corpus/current gates remain there; issue #1142 remains open. |



Concurrent child completion can deadlock on MariaDB when the parent-history FOR UPDATE query uses a table scan and waits for an uncommitted sibling row. That sibling is waiting for the parent run already held by the first completion.
Use the existing per-run sequence index for this current-read query on MySQL/MariaDB, deriving its name through the schema Blueprint so configured connections and table/index prefixes remain supported. Other drivers keep their existing query. No new index, retry or provider call is introduced.
This separates the generic correction already reviewed within the Saga foundation. The runtime file is byte-identical to that reviewed implementation. The existing concurrent barrier regression now coordinates both uncommitted child history appends before allowing the first parent lock, preserving one parent wake and both child outcomes.
The complete default-MariaDB timer gate independently reproduces the original deadlock at f494 (404 cases / 5,158 assertions, one failure). Candidate style/static/backend and discriminating predecessor controls are pending. Full normal quality and complete backend inventories on the composition with #1140 remain required. The original failed attempt is retained. No Saga or release acceptance is included.
Refs #1142, #892, #1139.