Repository navigation
Keep engine transactions on the workflow storage connection - #964
Conversation
|
Reviewed all 26 maintainability findings reported for The new connection resolver's return-count finding is being fixed in source and remains unaccepted. The other 25 findings ( Each accepted finding receives this decision and its individual comparison digest in Sonar. The normal analysis must still pass on the final head, including the resolver correction. This does not waive behavior, concurrency, coverage or release qualification. |
|
|
A control using the currently published 2.15.8 package reproduces another consequence of the connection mismatch. Composer installs source reference With PostgreSQL workflow storage and an independent SQLite application transaction, rolling back the application removes its own row while retaining the committed workflow run and task. The engine makes zero queue push calls, both before and after the application rollback, although the start event has fired. This uses After publication, the same probe must pass with 2.15.9 in both configured-storage and custom-model modes. A separate Composer project already requires exactly 2.15.9 and will verify the installed source reference and class origins before acceptance. Normal hosted CI is terminal success on |



When workflow storage differs from the application connection, engine transactions can open on the application connection while durable rows are written elsewhere. Failed starts retain partial state, task claims release their row locks immediately, and lifecycle events can escape an outer rollback.
Resolve the engine connection from
DW_STORAGE_CONNECTIONor the configured V2 run model. Transactions, transaction-level checks and callbacks use that connection; task dispatch uses the actual task connection, and lifecycle events use the actual run connection. Preserve existing SQLite retry limits, legacy storage separation, execution tracing and the service-model connection mismatch refusal. Set the patch release identity to 2.15.9.Validation:
45cbdb40fails the same five rollback, claim, dispatch and lifecycle cases on PostgreSQL 17 and MySQL 8. The original also fails the independent row-lock probe.5ac7ff40: 17 successful checks and seven skipped. Full style and static analysis pass. Sonar passes; the specific acceptance of 25 unchanged closure findings is documented in the review.Delivered in Core 2.15.9 together with #965, which completes interleaved callback ownership and real queue publication. All main/published checks and the five-command local quality cycle pass. Stock Composer acceptance verifies 22 storage cases per PostgreSQL/MySQL driver and all 1,007 runtime files. Docs #416 is deployed in all eight locales.
Refs #893.