- Notifications
You must be signed in to change notification settings - Fork 135
feat: support read lock mode for R/W transactions #4010
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
1c38bc5 to 42c86b0 Compare google-cloud-spanner/src/main/java/com/google/cloud/spanner/SpannerOptions.java Show resolved Hide resolved
42c86b0 to 9fd5cb1 Compare google-cloud-spanner/src/main/java/com/google/cloud/spanner/Options.java Outdated Show resolved Hide resolved
| * | ||
| * <ul> | ||
| * <li>{@link ReadLockMode#PESSIMISTIC}: Read locks are acquired immediately on read. This mode | ||
| * primarily applies to transactions with {@code SERIALIZABLE} isolation. |
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.
What does this sentence mean?
This mode primarily applies to transactions with {@code SERIALIZABLE} isolation. That it has no effect on RR? Or that it has a strong effect on Serializable?
What I'm aiming at is: Can we make this more concrete? As a customer, I would have no idea what this means.
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.
I've updated the doc. Currently, we do not allow setting the readLockMode for Repeatable Read(RR) isolation level and error will be returned. And by default, OPTIMISTIC lock mode will be used for RR.
google-cloud-spanner/src/main/java/com/google/cloud/spanner/Options.java Outdated Show resolved Hide resolved
google-cloud-spanner/src/main/java/com/google/cloud/spanner/Options.java Outdated Show resolved Hide resolved
google-cloud-spanner/src/main/java/com/google/cloud/spanner/Options.java Outdated Show resolved Hide resolved
google-cloud-spanner/src/main/java/com/google/cloud/spanner/Options.java Show resolved Hide resolved
google-cloud-spanner/src/main/java/com/google/cloud/spanner/SessionImpl.java Outdated Show resolved Hide resolved
google-cloud-spanner/src/main/java/com/google/cloud/spanner/SpannerOptions.java Outdated Show resolved Hide resolved
| @sakthivelmanii @olavloite: I've addressed the review comments. PTAL. |
7d752d6 into googleapis:main | Package | Type | Package file | Manager | Update | Change | |---|---|---|---|---|---| | [redis.clients:jedis](https://github.com/redis/jedis) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `6.1.0` -> `6.2.0` | | [com.google.cloud:google-cloud-spanner](https://github.com/googleapis/java-spanner) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `6.98.1` -> `6.99.0` | --- ### Release Notes <details> <summary>redis/jedis (redis.clients:jedis)</summary> ### [`v6.2.0`](https://github.com/redis/jedis/releases/tag/v6.2.0): 6.2.0 ### Changes #### 🚀 New Features - \[vector sets] Support for VSIM WITHATTRIBS (CAE-1421) ([#​4260](redis/jedis#4260)) - Support Redis 8 vector sets [#​4169](redis/jedis#4169) ([#​4203](redis/jedis#4203)) #### 🐛 Bug Fixes - Fix JedisBroadcastException in functionLoadReplace for Redis Cluster ([#​4219](redis/jedis#4219)) #### 🧰 Maintenance - Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.11.2 to 3.11.3 ([#​4246](redis/jedis#4246)) - Bump org.junit:junit-bom from 5.13.3 to 5.13.4 ([#​4216](redis/jedis#4216)) - docs: Improve Javadoc for HostAndPortMapper ([#​4112](redis/jedis#4112)) ([#​4227](redis/jedis#4227)) #### Contributors We'd like to thank all the contributors who worked on this release! [@​JuneYub](https://github.com/JuneYub), [@​Kguswo](https://github.com/Kguswo), [@​dependabot](https://github.com/dependabot), [@​dependabot](https://github.com/dependabot)\[bot] and [@​ggivo](https://github.com/ggivo) </details> <details> <summary>googleapis/java-spanner (com.google.cloud:google-cloud-spanner)</summary> ### [`v6.99.0`](https://github.com/googleapis/java-spanner/blob/HEAD/CHANGELOG.md#6990-2025-08-26) ##### Features - Support read lock mode for R/W transactions ([#​4010](googleapis/java-spanner#4010)) ([7d752d6](googleapis/java-spanner@7d752d6)) ##### Bug Fixes - **deps:** Update the Java code generator (gapic-generator-java) to 2.62.0 ([52c68db](googleapis/java-spanner@52c68db)) - GetCommitResponse() should return error if tx has not committed ([#​4021](googleapis/java-spanner#4021)) ([a2c179f](googleapis/java-spanner@a2c179f)) ##### Dependencies - Update dependency com.google.cloud:sdk-platform-java-config to v3.52.0 ([#​4024](googleapis/java-spanner#4024)) ([7e3294f](googleapis/java-spanner@7e3294f)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 6pm every weekday,before 2am every weekday" in timezone Australia/Melbourne, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Never, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). GitOrigin-RevId: 9d031eaaab2d726402884bd41681c856931f12f0
Samples and integration tests will be added in separate PRs.