Skip to content
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

feat: support multiplexed session for blind write with single use transaction #3229

Merged
merged 10 commits into from
Sep 17, 2024

Conversation

pratickchokhani
Copy link
Contributor

@pratickchokhani pratickchokhani commented Jul 30, 2024

With multiplexed sessions, the client optimizes and runs multiple applicable requests concurrently on a single session. A single multiplexed session is sufficient to handle all concurrent writeAtLeastOnce requests.

Normal read/write transactions always use regular sessions.

The use of multiplexed sessions can be enabled through the environment variable GOOGLE_CLOUD_SPANNER_MULTIPLEXED_SESSIONS.

@pratickchokhani pratickchokhani requested a review from a team as a code owner July 30, 2024 09:31
@product-auto-label product-auto-label bot added size: l Pull request size is large. api: spanner Issues related to the googleapis/java-spanner API. labels Jul 30, 2024
…o blind-write

# Conflicts:
#	google-cloud-spanner/src/main/java/com/google/cloud/spanner/SessionPool.java
@olavloite olavloite changed the title feat(spanner): support multiplexed session for blind write with single use transaction feat: support multiplexed session for blind write with single use transaction Aug 1, 2024
@product-auto-label product-auto-label bot added size: m Pull request size is medium. and removed size: l Pull request size is large. labels Aug 8, 2024
@olavloite olavloite added the do not merge Indicates a pull request not ready for merge, due to either quality or timing. label Aug 19, 2024
@product-auto-label product-auto-label bot added size: l Pull request size is large. and removed size: m Pull request size is medium. labels Sep 16, 2024
@pratickchokhani pratickchokhani removed the do not merge Indicates a pull request not ready for merge, due to either quality or timing. label Sep 16, 2024
Copy link
Collaborator

@olavloite olavloite left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, with some minor nits on documentation.

@pratickchokhani pratickchokhani merged commit b3e2b0f into googleapis:main Sep 17, 2024
30 of 31 checks passed
lqiu96 pushed a commit that referenced this pull request Sep 19, 2024
…nsaction (#3229)

* feat(spanner): support multiplexed session for blind write with single use transaction.

* test(spanner): added test for the support of multiplexed session for blind writes (writeAtLeastOnce)

* chore(spanner): lint

* fix(spanner): updated the adoption for blind write into GOOGLE_CLOUD_SPANNER_MULTIPLEXED_SESSIONS.

* chore: simplify code to make it easier to reuse for later additions

* feat(spanner): added flag to control use of multiplexed session for blind write. This flag will be used by systest.

* lint(spanner): javadoc fixes.

---------

Co-authored-by: Knut Olav Løite <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api: spanner Issues related to the googleapis/java-spanner API. size: l Pull request size is large.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants