-
Notifications
You must be signed in to change notification settings - Fork 40
WIth the JDBC transaction manager, use the storage default transaction isolation level instead of SERIALIZABLE #3076
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…lt transaction isolation level to SERIALIZABLE by default, use the default storage setting
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR changes the default transaction isolation level behavior for JDBC transaction manager. Instead of forcing SERIALIZABLE isolation level when scalar.db.jdbc.isolation_level is not configured, it now allows the storage to use its own default transaction isolation level.
Key Changes
- Removed the hardcoded SERIALIZABLE transaction isolation level setting from the JDBC data source initialization
- Transaction isolation level now defaults to the storage's native default when not explicitly configured
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Thank you!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Thank you!
…izable_transaction_isolation_level
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thank you!
…n isolation level instead of SERIALIZABLE (#3076)
Description
When the JDBC transaction manager is used, we set the default transaction isolation level to SERIALIZABLE if the user does not specify one in the config with
scalar.db.jdbc.isolation_level.We now consider this is not necessary anymore and the default storage transaction isolation can be used if
scalar.db.jdbc.isolation_levelis not set.Related issues and/or PRs
Changes made
Checklist
Additional notes (optional)
N/A
Release notes
When using the JDBC transaction manager, do not set the JDBC transaction isolation level to SERIALIZABLE when the configuration
scalar.db.jdbc.isolation_levelis not set. The default is now the default value set by the storage.