Skip to content

fix: preserve committed writes after JDBC connection cleanup faults - #234

Draft
philipgreat wants to merge 1 commit into
test/p1-committed-integration-20261019from
fix/p1-jdbc-postcommit-cleanup-20261020
Draft

philipgreat wants to merge 1 commit into
test/p1-committed-integration-20261019from
fix/p1-jdbc-postcommit-cleanup-20261020

Conversation

@philipgreat

Copy link
Copy Markdown
Contributor

Closes #233. This is a stacked P1 review PR on the integrated Committed Mutation candidate, not a request to bypass #216/#225 review gates.

After JDBC commit succeeds, autoCommit restoration or close can fail. Previously the executor reported an ordinary transaction failure although the SQLite row and Outbox had already committed, inviting a duplicate retry. This change preserves the committed outcome and emits a sanitized operational warning. It also prevents a user-installed JUL handler from changing the committed result.

Verified with real SQLite fault injection: restoration failure, close failure, and throwing warning handler. Focused tests: 3/3 new and 36/36 GraphTrace. The affected Maven reactor test suite exited 0. The committed-events example passed two native delivery/recovery rounds and two generated SQLite to DuckDB Q readback rounds, with generated library hash unchanged.

Scope: a SQLException thrown by commit itself is an ambiguous-outcome problem and is not reclassified as success here. Human review and the separate audit-delivery API choice remain required before any main merge.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant