Repository navigation
Read recent failures with NUL-bearing PostgreSQL history - #921
Conversation
|
|
Final exact-head qualification is complete: 16 hosted checks succeed, with 6 explicit skips; build 40070198191 is terminal success. The unchanged original PostgreSQL shard 2 completes 757 cases / 5,846 assertions, with two explicit driver-specific skips, zero failures/errors and exit 0, within the original ten-minute budget (482.7 seconds of test time). This includes the original large terminal failure case. The independent MySQL component passes 45 tests / 249 assertions. Earlier exact-head PostgreSQL/SQLite components each pass 43 executable checks / 241 assertions. Direct Sonar review reports gate OK, 0.0% new duplication and zero issues. No source, expected assertion or business deadline was relaxed. This qualifies the source correction, not a new package, runtime image or rollout. The inaccessible original hosted failures remain separate failed originals; no common cause is inferred. |
|
The two original main PostgreSQL shard-2 failures now have recovered JUnit evidence. Artifact Both originals identify V2ActivityExceptionCodecTest::testLargeTerminalFailureKeepsFullCanonicalMessageAndHistory, Fresh independent main e6b9ad8, run 40071278691, has now passed PostgreSQL shard 2, job |
|
Independent main e6b9ad8 / tree 6eda2a38e24f0f15b4868dea181ec427b35b2d8c is fully qualified. Build 40071278691 is terminal success: 22 jobs pass, two are intentionally skipped. All exact-commit GitHub checks are terminal: 27 successful, two skipped. Coverage and the unchanged v2 ratchet pass. Sonar analysis Committed product-train metadata is exactly 2.12.2. The repository source-mirror contract command also passes against the live suite-47 authority and immutable worker-protocol resolvers. Existing 2.12.0 remains the latest artifact until the normal immutable release action. Normal published-package verification, installed canonical-storage/metadata behavior and downstream image/UI adoption remain required. This source result does not close #225 or #878 or admit the rejected-outcome emitter. |
|
Published Core 2.12.2 installed-package acceptance is complete for the affected module controls. Normal Composer resolves source/dist The unchanged six-suite cohort covers activity-outcome retention, canonical failure messages, bounded recent failures, history budgets, the activity exception codec and the failure-message storage migration:
Each invocation discovers 98 cases and exits successfully with warnings/deprecations treated as failures; the original test process budgets are unchanged. The normal published verification 40073230062 also passed all 17 jobs. Independent main 40071278691 passed; its exact Sonar gate is OK with 88.7% new coverage and 0.4% duplication. Historical main debt and the failed original runs remain separate. This proves the released module's affected installed behavior. Server images, embedded application/SDK/Waterline acceptance, the draft #919 reader rollout, and the #901 emitter contract retain their own requirements under #878 and durable-workflow/.github#225. No image adoption or Cloud deployment is implied. Task databases were dropped and their containers stopped cleanly (exit 0, no OOM) and removed. The task network and newly built Composer tool image were removed; shared images and other owners' resources were preserved. |



Reading recent failures on PostgreSQL fails when a retained event contains a NUL-bearing message. PostgreSQL accepts the escaped NUL in its
jsonstorage, but SQL JSON extraction reparses other string fields and raises22P05before returning the selected failure identity.This is a concrete local reproduction on exact merged main
f8103d19:V2ActivityExceptionCodecTest::testLargeTerminalFailureKeepsFullCanonicalMessageAndHistoryerrors atRunRecentFailures.php:85; the other eight codec cases pass. A focused regression also fails on the unchanged runtime and covers adjacent NULs, nested messages, literal backslash escapes and Unicode identities. The migration controls separately pass two PostgreSQL cases, with one MySQL-only skip.Exact source 9b16b20, whole tree 6eda2a38e24f0f15b4868dea181ec427b35b2d8c, corrects PostgreSQL metadata expressions for recent failure links and history-budget fallback. It masks actual NUL escapes in a temporary SQL expression, preserves paired literal backslashes, uses PostgreSQL's normal JSON parser for metadata and restores the exact canonical byte difference in budget accounting. It does not rewrite stored history, transfer full payloads into diagnostic readers, add an event producer or alter completion authority. The combined prospective patch remains unpublished 2.12.2.
The independent history-budget missing/stale-summary regressions also fail on the preceding runtime with
22P05. Final component results are 43 executable checks / 241 assertions on each PostgreSQL and SQLite, with two explicit MySQL-only skips on each driver. The cases cover original exception delivery, selected failure links, literal escapes, Unicode identities, original history bytes, exact budget counts, configured model scope and bounded header hydration. Full src/tests PHPStan passes; full ECS applies only test formatting and reports no remaining errors. The earlier formatting failure and every failing counterfactual remain distinct evidence.Final exact-head qualification is complete: 16 hosted checks succeed, with 6 explicit skips; build 40070198191 is terminal success. The unchanged original PostgreSQL shard 2 completes 757 cases / 5,846 assertions, with two explicit driver-specific skips, zero failures/errors and exit 0, within the original ten-minute budget (482.7 seconds of test time). This includes the original large terminal failure case. The independent MySQL component passes 45 tests / 249 assertions. Earlier exact-head PostgreSQL/SQLite components each pass 43 executable checks / 241 assertions. Direct Sonar review reports gate OK, 0.0% new duplication and zero issues. No source, expected assertion or business deadline was relaxed. This qualifies the source correction, not a new package, runtime image or rollout. The recovered original hosted failures match this diagnosis; their failed outcomes remain unchanged. Merged normally as
e6b9ad812561fb5a3ee9ec373cf43cf974b56a02, with the exact qualified tree6eda2a38e24f0f15b4868dea181ec427b35b2d8c; the completed remote branch is absent. Independent main build40071278691is live, so publication remains pending. The reader branch must integrate the resulting main revision and qualify its new tree.Owning issue: durable-workflow/.github#225. Both original main failures now have recovered JUnit evidence matching the local diagnosis. Original assertions and fresh-main PostgreSQL success. The failed originals remain failed; no rerun, source/assertion/deadline relaxation or publication occurred. Core 2.12.2 remains unpublished pending the final independent-main aggregate and installed acceptance.
PostgreSQL documents the distinction between storing escaped Unicode in
jsonand processing it with JSON functions: https://www.postgresql.org/docs/17/datatype-json.html .