Skip to content

prevent read-only from polluting subsequent usage of thread#246

Open
njr-11 wants to merge 1 commit intojakartaee:masterfrom
njr-11:245-prevent-readonly-from-polluting-subsequent-usage-of-thread
Open

prevent read-only from polluting subsequent usage of thread#246
njr-11 wants to merge 1 commit intojakartaee:masterfrom
njr-11:245-prevent-readonly-from-polluting-subsequent-usage-of-thread

Conversation

@njr-11
Copy link
Copy Markdown
Member

@njr-11 njr-11 commented Jan 2, 2026

Fixes #245

This adjusts the design of read-only transactions prevent a highly likely scenario where read-only is left around after a transaction and pollutes subsequent transactions that unknowingly roll back, losing data.

One way for this to happen is if you have existing code that uses transactions and, prior to that point, you insert an invocation into other code (could be third-party, whatever) that uses UserTransaction.setReadOnly to run a read only transaction. Unless that code was nice enough to set read-only back to false after it ends, the subsequent transactions unknowingly start running in read-only mode, too.

The solution, discussed in #245 and in another issue under Jakarta Connectors, is to scope the read-only behavior to the single transaction for which it is explicitly requested. It then becomes impossible to accidentally impact other transactions.

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.

Mixing application managed (read-only) transactions on the same thread as (read-write) application managed transactions...

1 participant