From 242a082d3ab9b8780a913de1ee8eafcdc1127186 Mon Sep 17 00:00:00 2001 From: Roma Slyusarchuk Date: Thu, 20 Apr 2023 13:13:42 -0700 Subject: [PATCH 1/5] feat: add TransactionExecutionOptions support to executor. --- google-cloud-spanner-executor/pom.xml | 2 +- .../executor/spanner/CloudClientExecutor.java | 16 +++++++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/google-cloud-spanner-executor/pom.xml b/google-cloud-spanner-executor/pom.xml index 52d152f0050..62038c43c76 100644 --- a/google-cloud-spanner-executor/pom.xml +++ b/google-cloud-spanner-executor/pom.xml @@ -81,7 +81,7 @@ com.google.api.grpc proto-google-cloud-spanner-executor-v1 - 1.3.0 + 1.4.0 com.google.guava diff --git a/google-cloud-spanner-executor/src/main/java/com/google/cloud/executor/spanner/CloudClientExecutor.java b/google-cloud-spanner-executor/src/main/java/com/google/cloud/executor/spanner/CloudClientExecutor.java index 55acf44abb2..de02660ace6 100644 --- a/google-cloud-spanner-executor/src/main/java/com/google/cloud/executor/spanner/CloudClientExecutor.java +++ b/google-cloud-spanner-executor/src/main/java/com/google/cloud/executor/spanner/CloudClientExecutor.java @@ -95,6 +95,7 @@ import com.google.spanner.executor.v1.CloudInstanceConfigResponse; import com.google.spanner.executor.v1.CloudInstanceResponse; import com.google.spanner.executor.v1.Concurrency; +import com.google.spanner.executor.v1.TransactionExecutionOptions; import com.google.spanner.executor.v1.CopyCloudBackupAction; import com.google.spanner.executor.v1.CreateCloudBackupAction; import com.google.spanner.executor.v1.CreateCloudDatabaseAction; @@ -227,13 +228,16 @@ private static class ReadWriteTransaction { private Mode finishMode; private SpannerException error; private final String transactionSeed; + private final boolean optimistic; // Set to true when the transaction runner completed, one of these three could happen: runner // committed, abandoned or threw an error. private boolean runnerCompleted; - public ReadWriteTransaction(DatabaseClient dbClient, String transactionSeed) { + public ReadWriteTransaction(DatabaseClient dbClient, String transactionSeed, + boolean optimistic) { this.dbClient = dbClient; this.transactionSeed = transactionSeed; + this.optimistic = optimistic; this.runnerCompleted = false; } @@ -318,7 +322,8 @@ public void startRWTransaction() throws Exception { Runnable runnable = () -> { try { - runner = dbClient.readWriteTransaction(); + runner = optimistic ? dbClient.readWriteTransaction(Options.optimisticLock()) + : dbClient.readWriteTransaction(); LOGGER.log(Level.INFO, String.format("Ready to run callable %s\n", transactionSeed)); runner.run(callable); transactionSucceeded(runner.getCommitTimestamp().toProto()); @@ -537,7 +542,8 @@ public synchronized void startReadOnlyTxn( } /** Start a read-write transaction. */ - public synchronized void startReadWriteTxn(DatabaseClient dbClient, Metadata metadata) + public synchronized void startReadWriteTxn(DatabaseClient dbClient, Metadata metadata, + TransactionExecutionOptions options) throws Exception { if ((rwTxn != null) || (roTxn != null) || (batchTxn != null)) { throw SpannerExceptionFactory.newSpannerException( @@ -548,7 +554,7 @@ public synchronized void startReadWriteTxn(DatabaseClient dbClient, Metadata met String.format( "There's no active transaction, safe to create rwTxn: %s\n", getTransactionSeed())); this.metadata = metadata; - rwTxn = new ReadWriteTransaction(dbClient, transactionSeed); + rwTxn = new ReadWriteTransaction(dbClient, transactionSeed, options.getOptimistic()); LOGGER.log( Level.INFO, String.format( @@ -2246,7 +2252,7 @@ private Status executeStartTxn( Level.INFO, "Starting read-write transaction %s\n", executionContext.getTransactionSeed()); - executionContext.startReadWriteTxn(dbClient, metadata); + executionContext.startReadWriteTxn(dbClient, metadata, action.getExecutionOptions()); } executionContext.setDatabaseClient(dbClient); executionContext.initReadState(); From 1c038d6791fc292b2fc3b7b11d4025f053f02c2f Mon Sep 17 00:00:00 2001 From: Roma Slyusarchuk Date: Thu, 20 Apr 2023 13:13:42 -0700 Subject: [PATCH 2/5] feat: add TransactionExecutionOptions support to executor. --- google-cloud-spanner-executor/pom.xml | 2 +- .../executor/spanner/CloudClientExecutor.java | 16 +++++++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/google-cloud-spanner-executor/pom.xml b/google-cloud-spanner-executor/pom.xml index 52d152f0050..62038c43c76 100644 --- a/google-cloud-spanner-executor/pom.xml +++ b/google-cloud-spanner-executor/pom.xml @@ -81,7 +81,7 @@ com.google.api.grpc proto-google-cloud-spanner-executor-v1 - 1.3.0 + 1.4.0 com.google.guava diff --git a/google-cloud-spanner-executor/src/main/java/com/google/cloud/executor/spanner/CloudClientExecutor.java b/google-cloud-spanner-executor/src/main/java/com/google/cloud/executor/spanner/CloudClientExecutor.java index 55acf44abb2..63ac1aa472c 100644 --- a/google-cloud-spanner-executor/src/main/java/com/google/cloud/executor/spanner/CloudClientExecutor.java +++ b/google-cloud-spanner-executor/src/main/java/com/google/cloud/executor/spanner/CloudClientExecutor.java @@ -140,6 +140,7 @@ import com.google.spanner.executor.v1.SpannerAsyncActionResponse; import com.google.spanner.executor.v1.StartBatchTransactionAction; import com.google.spanner.executor.v1.StartTransactionAction; +import com.google.spanner.executor.v1.TransactionExecutionOptions; import com.google.spanner.executor.v1.UpdateCloudBackupAction; import com.google.spanner.executor.v1.UpdateCloudDatabaseDdlAction; import com.google.spanner.executor.v1.UpdateCloudInstanceAction; @@ -227,13 +228,16 @@ private static class ReadWriteTransaction { private Mode finishMode; private SpannerException error; private final String transactionSeed; + private final boolean optimistic; // Set to true when the transaction runner completed, one of these three could happen: runner // committed, abandoned or threw an error. private boolean runnerCompleted; - public ReadWriteTransaction(DatabaseClient dbClient, String transactionSeed) { + public ReadWriteTransaction(DatabaseClient dbClient, String transactionSeed, + boolean optimistic) { this.dbClient = dbClient; this.transactionSeed = transactionSeed; + this.optimistic = optimistic; this.runnerCompleted = false; } @@ -318,7 +322,8 @@ public void startRWTransaction() throws Exception { Runnable runnable = () -> { try { - runner = dbClient.readWriteTransaction(); + runner = optimistic ? dbClient.readWriteTransaction(Options.optimisticLock()) + : dbClient.readWriteTransaction(); LOGGER.log(Level.INFO, String.format("Ready to run callable %s\n", transactionSeed)); runner.run(callable); transactionSucceeded(runner.getCommitTimestamp().toProto()); @@ -537,7 +542,8 @@ public synchronized void startReadOnlyTxn( } /** Start a read-write transaction. */ - public synchronized void startReadWriteTxn(DatabaseClient dbClient, Metadata metadata) + public synchronized void startReadWriteTxn(DatabaseClient dbClient, Metadata metadata, + TransactionExecutionOptions options) throws Exception { if ((rwTxn != null) || (roTxn != null) || (batchTxn != null)) { throw SpannerExceptionFactory.newSpannerException( @@ -548,7 +554,7 @@ public synchronized void startReadWriteTxn(DatabaseClient dbClient, Metadata met String.format( "There's no active transaction, safe to create rwTxn: %s\n", getTransactionSeed())); this.metadata = metadata; - rwTxn = new ReadWriteTransaction(dbClient, transactionSeed); + rwTxn = new ReadWriteTransaction(dbClient, transactionSeed, options.getOptimistic()); LOGGER.log( Level.INFO, String.format( @@ -2246,7 +2252,7 @@ private Status executeStartTxn( Level.INFO, "Starting read-write transaction %s\n", executionContext.getTransactionSeed()); - executionContext.startReadWriteTxn(dbClient, metadata); + executionContext.startReadWriteTxn(dbClient, metadata, action.getExecutionOptions()); } executionContext.setDatabaseClient(dbClient); executionContext.initReadState(); From 2931a22bf307011a533e5d3b5a3899975e83f1b9 Mon Sep 17 00:00:00 2001 From: Roma Slyusarchuk Date: Thu, 20 Apr 2023 13:13:42 -0700 Subject: [PATCH 3/5] feat: add TransactionExecutionOptions support to executor. --- .../executor/spanner/CloudClientExecutor.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/google-cloud-spanner-executor/src/main/java/com/google/cloud/executor/spanner/CloudClientExecutor.java b/google-cloud-spanner-executor/src/main/java/com/google/cloud/executor/spanner/CloudClientExecutor.java index 63ac1aa472c..7bc189cbf1d 100644 --- a/google-cloud-spanner-executor/src/main/java/com/google/cloud/executor/spanner/CloudClientExecutor.java +++ b/google-cloud-spanner-executor/src/main/java/com/google/cloud/executor/spanner/CloudClientExecutor.java @@ -95,6 +95,7 @@ import com.google.spanner.executor.v1.CloudInstanceConfigResponse; import com.google.spanner.executor.v1.CloudInstanceResponse; import com.google.spanner.executor.v1.Concurrency; +import com.google.spanner.executor.v1.TransactionExecutionOptions; import com.google.spanner.executor.v1.CopyCloudBackupAction; import com.google.spanner.executor.v1.CreateCloudBackupAction; import com.google.spanner.executor.v1.CreateCloudDatabaseAction; @@ -233,8 +234,8 @@ private static class ReadWriteTransaction { // committed, abandoned or threw an error. private boolean runnerCompleted; - public ReadWriteTransaction(DatabaseClient dbClient, String transactionSeed, - boolean optimistic) { + public ReadWriteTransaction( + DatabaseClient dbClient, String transactionSeed, boolean optimistic) { this.dbClient = dbClient; this.transactionSeed = transactionSeed; this.optimistic = optimistic; @@ -322,8 +323,10 @@ public void startRWTransaction() throws Exception { Runnable runnable = () -> { try { - runner = optimistic ? dbClient.readWriteTransaction(Options.optimisticLock()) - : dbClient.readWriteTransaction(); + runner = + optimistic + ? dbClient.readWriteTransaction(Options.optimisticLock()) + : dbClient.readWriteTransaction(); LOGGER.log(Level.INFO, String.format("Ready to run callable %s\n", transactionSeed)); runner.run(callable); transactionSucceeded(runner.getCommitTimestamp().toProto()); @@ -542,8 +545,8 @@ public synchronized void startReadOnlyTxn( } /** Start a read-write transaction. */ - public synchronized void startReadWriteTxn(DatabaseClient dbClient, Metadata metadata, - TransactionExecutionOptions options) + public synchronized void startReadWriteTxn( + DatabaseClient dbClient, Metadata metadata, TransactionExecutionOptions options) throws Exception { if ((rwTxn != null) || (roTxn != null) || (batchTxn != null)) { throw SpannerExceptionFactory.newSpannerException( From d5c40bf929952751451ef430105ec1aeb206dcba Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Fri, 14 Apr 2023 20:04:56 +0100 Subject: [PATCH 4/5] deps: update dependency com.google.cloud:google-cloud-trace to v2.15.0 (#2384) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit deps: update dependency com.google.cloud:google-cloud-monitoring to v3.16.0 (#2383) chore(main): release 6.40.1 (#2385) :robot: I have created a release *beep* *boop* --- * Update dependency com.google.cloud:google-cloud-monitoring to v3.16.0 ([#2383](https://togithub.com/googleapis/java-spanner/issues/2383)) ([5d5c33a](https://togithub.com/googleapis/java-spanner/commit/5d5c33ae7c01e10112c72777f202187a50b55ac3)) * Update dependency com.google.cloud:google-cloud-trace to v2.15.0 ([#2384](https://togithub.com/googleapis/java-spanner/issues/2384)) ([6b4ce1f](https://togithub.com/googleapis/java-spanner/commit/6b4ce1fc7ffd837fab6250e36269589d95f5b8c6)) --- This PR was generated with [Release Please](https://togithub.com/googleapis/release-please). See [documentation](https://togithub.com/googleapis/release-please#release-please). chore(main): release 6.40.2-SNAPSHOT (#2386) :robot: I have created a release *beep* *boop* --- --- This PR was generated with [Release Please](https://togithub.com/googleapis/release-please). See [documentation](https://togithub.com/googleapis/release-please#release-please). chore(deps): update dependency com.google.cloud:google-cloud-spanner to v6.40.1 (#2387) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [com.google.cloud:google-cloud-spanner](https://togithub.com/googleapis/java-spanner) | `6.40.0` -> `6.40.1` | [![age](https://badges.renovateapi.com/packages/maven/com.google.cloud:google-cloud-spanner/6.40.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/maven/com.google.cloud:google-cloud-spanner/6.40.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/maven/com.google.cloud:google-cloud-spanner/6.40.1/compatibility-slim/6.40.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/maven/com.google.cloud:google-cloud-spanner/6.40.1/confidence-slim/6.40.0)](https://docs.renovatebot.com/merge-confidence/) | ---
googleapis/java-spanner [Compare Source](https://togithub.com/googleapis/java-spanner/compare/v6.40.0...v6.40.1) - Update dependency com.google.cloud:google-cloud-monitoring to v3.16.0 ([#​2383](https://togithub.com/googleapis/java-spanner/issues/2383)) ([5d5c33a](https://togithub.com/googleapis/java-spanner/commit/5d5c33ae7c01e10112c72777f202187a50b55ac3)) - Update dependency com.google.cloud:google-cloud-trace to v2.15.0 ([#​2384](https://togithub.com/googleapis/java-spanner/issues/2384)) ([6b4ce1f](https://togithub.com/googleapis/java-spanner/commit/6b4ce1fc7ffd837fab6250e36269589d95f5b8c6))
--- 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/java-spanner). feat: add TransactionExecutionOptions support to executor. feat: add TransactionExecutionOptions support to executor. feat: add TransactionExecutionOptions support to executor. --- CHANGELOG.md | 8 ++++++++ README.md | 8 ++++---- google-cloud-spanner-bom/pom.xml | 20 +++++++++---------- google-cloud-spanner-executor/pom.xml | 6 +++--- .../executor/spanner/CloudClientExecutor.java | 19 +++++++++++++----- google-cloud-spanner/pom.xml | 4 ++-- .../pom.xml | 4 ++-- .../pom.xml | 4 ++-- grpc-google-cloud-spanner-v1/pom.xml | 4 ++-- pom.xml | 16 +++++++-------- .../pom.xml | 4 ++-- .../pom.xml | 4 ++-- proto-google-cloud-spanner-v1/pom.xml | 4 ++-- samples/install-without-bom/pom.xml | 6 +++--- samples/snapshot/pom.xml | 6 +++--- versions.txt | 16 +++++++-------- 16 files changed, 75 insertions(+), 58 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1d518016f22..62847c62d83 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## [6.40.1](https://github.com/googleapis/java-spanner/compare/v6.40.0...v6.40.1) (2023-04-17) + + +### Dependencies + +* Update dependency com.google.cloud:google-cloud-monitoring to v3.16.0 ([#2383](https://github.com/googleapis/java-spanner/issues/2383)) ([5d5c33a](https://github.com/googleapis/java-spanner/commit/5d5c33ae7c01e10112c72777f202187a50b55ac3)) +* Update dependency com.google.cloud:google-cloud-trace to v2.15.0 ([#2384](https://github.com/googleapis/java-spanner/issues/2384)) ([6b4ce1f](https://github.com/googleapis/java-spanner/commit/6b4ce1fc7ffd837fab6250e36269589d95f5b8c6)) + ## [6.40.0](https://github.com/googleapis/java-spanner/compare/v6.39.0...v6.40.0) (2023-04-14) diff --git a/README.md b/README.md index 59f82c45492..69efbdfaad2 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ If you are using Maven without the BOM, add this to your dependencies: com.google.cloud google-cloud-spanner - 6.40.0 + 6.40.1 ``` @@ -57,13 +57,13 @@ implementation 'com.google.cloud:google-cloud-spanner' If you are using Gradle without BOM, add this to your dependencies: ```Groovy -implementation 'com.google.cloud:google-cloud-spanner:6.40.0' +implementation 'com.google.cloud:google-cloud-spanner:6.40.1' ``` If you are using SBT, add this to your dependencies: ```Scala -libraryDependencies += "com.google.cloud" % "google-cloud-spanner" % "6.40.0" +libraryDependencies += "com.google.cloud" % "google-cloud-spanner" % "6.40.1" ``` @@ -411,7 +411,7 @@ Java is a registered trademark of Oracle and/or its affiliates. [kokoro-badge-link-5]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-spanner/java11.html [stability-image]: https://img.shields.io/badge/stability-stable-green [maven-version-image]: https://img.shields.io/maven-central/v/com.google.cloud/google-cloud-spanner.svg -[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-spanner/6.40.0 +[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-spanner/6.40.1 [authentication]: https://github.com/googleapis/google-cloud-java#authentication [auth-scopes]: https://developers.google.com/identity/protocols/oauth2/scopes [predefined-iam-roles]: https://cloud.google.com/iam/docs/understanding-roles#predefined_roles diff --git a/google-cloud-spanner-bom/pom.xml b/google-cloud-spanner-bom/pom.xml index dcd18931bc1..c72af3981da 100644 --- a/google-cloud-spanner-bom/pom.xml +++ b/google-cloud-spanner-bom/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-spanner-bom - 6.40.1-SNAPSHOT + 6.40.2-SNAPSHOT pom com.google.cloud @@ -53,48 +53,48 @@ com.google.cloud google-cloud-spanner - 6.40.1-SNAPSHOT + 6.40.2-SNAPSHOT com.google.cloud google-cloud-spanner-executor - 6.40.1-SNAPSHOT + 6.40.2-SNAPSHOT com.google.cloud google-cloud-spanner test-jar - 6.40.1-SNAPSHOT + 6.40.2-SNAPSHOT com.google.api.grpc grpc-google-cloud-spanner-v1 - 6.40.1-SNAPSHOT + 6.40.2-SNAPSHOT com.google.api.grpc grpc-google-cloud-spanner-admin-instance-v1 - 6.40.1-SNAPSHOT + 6.40.2-SNAPSHOT com.google.api.grpc grpc-google-cloud-spanner-admin-database-v1 - 6.40.1-SNAPSHOT + 6.40.2-SNAPSHOT com.google.api.grpc proto-google-cloud-spanner-admin-instance-v1 - 6.40.1-SNAPSHOT + 6.40.2-SNAPSHOT com.google.api.grpc proto-google-cloud-spanner-v1 - 6.40.1-SNAPSHOT + 6.40.2-SNAPSHOT com.google.api.grpc proto-google-cloud-spanner-admin-database-v1 - 6.40.1-SNAPSHOT + 6.40.2-SNAPSHOT diff --git a/google-cloud-spanner-executor/pom.xml b/google-cloud-spanner-executor/pom.xml index a66485264bd..62038c43c76 100644 --- a/google-cloud-spanner-executor/pom.xml +++ b/google-cloud-spanner-executor/pom.xml @@ -5,14 +5,14 @@ 4.0.0 com.google.cloud google-cloud-spanner-executor - 6.40.1-SNAPSHOT + 6.40.2-SNAPSHOT jar Google Cloud Spanner Executor com.google.cloud google-cloud-spanner-parent - 6.40.1-SNAPSHOT + 6.40.2-SNAPSHOT @@ -81,7 +81,7 @@ com.google.api.grpc proto-google-cloud-spanner-executor-v1 - 1.3.0 + 1.4.0 com.google.guava diff --git a/google-cloud-spanner-executor/src/main/java/com/google/cloud/executor/spanner/CloudClientExecutor.java b/google-cloud-spanner-executor/src/main/java/com/google/cloud/executor/spanner/CloudClientExecutor.java index 55acf44abb2..7bc189cbf1d 100644 --- a/google-cloud-spanner-executor/src/main/java/com/google/cloud/executor/spanner/CloudClientExecutor.java +++ b/google-cloud-spanner-executor/src/main/java/com/google/cloud/executor/spanner/CloudClientExecutor.java @@ -95,6 +95,7 @@ import com.google.spanner.executor.v1.CloudInstanceConfigResponse; import com.google.spanner.executor.v1.CloudInstanceResponse; import com.google.spanner.executor.v1.Concurrency; +import com.google.spanner.executor.v1.TransactionExecutionOptions; import com.google.spanner.executor.v1.CopyCloudBackupAction; import com.google.spanner.executor.v1.CreateCloudBackupAction; import com.google.spanner.executor.v1.CreateCloudDatabaseAction; @@ -140,6 +141,7 @@ import com.google.spanner.executor.v1.SpannerAsyncActionResponse; import com.google.spanner.executor.v1.StartBatchTransactionAction; import com.google.spanner.executor.v1.StartTransactionAction; +import com.google.spanner.executor.v1.TransactionExecutionOptions; import com.google.spanner.executor.v1.UpdateCloudBackupAction; import com.google.spanner.executor.v1.UpdateCloudDatabaseDdlAction; import com.google.spanner.executor.v1.UpdateCloudInstanceAction; @@ -227,13 +229,16 @@ private static class ReadWriteTransaction { private Mode finishMode; private SpannerException error; private final String transactionSeed; + private final boolean optimistic; // Set to true when the transaction runner completed, one of these three could happen: runner // committed, abandoned or threw an error. private boolean runnerCompleted; - public ReadWriteTransaction(DatabaseClient dbClient, String transactionSeed) { + public ReadWriteTransaction( + DatabaseClient dbClient, String transactionSeed, boolean optimistic) { this.dbClient = dbClient; this.transactionSeed = transactionSeed; + this.optimistic = optimistic; this.runnerCompleted = false; } @@ -318,7 +323,10 @@ public void startRWTransaction() throws Exception { Runnable runnable = () -> { try { - runner = dbClient.readWriteTransaction(); + runner = + optimistic + ? dbClient.readWriteTransaction(Options.optimisticLock()) + : dbClient.readWriteTransaction(); LOGGER.log(Level.INFO, String.format("Ready to run callable %s\n", transactionSeed)); runner.run(callable); transactionSucceeded(runner.getCommitTimestamp().toProto()); @@ -537,7 +545,8 @@ public synchronized void startReadOnlyTxn( } /** Start a read-write transaction. */ - public synchronized void startReadWriteTxn(DatabaseClient dbClient, Metadata metadata) + public synchronized void startReadWriteTxn( + DatabaseClient dbClient, Metadata metadata, TransactionExecutionOptions options) throws Exception { if ((rwTxn != null) || (roTxn != null) || (batchTxn != null)) { throw SpannerExceptionFactory.newSpannerException( @@ -548,7 +557,7 @@ public synchronized void startReadWriteTxn(DatabaseClient dbClient, Metadata met String.format( "There's no active transaction, safe to create rwTxn: %s\n", getTransactionSeed())); this.metadata = metadata; - rwTxn = new ReadWriteTransaction(dbClient, transactionSeed); + rwTxn = new ReadWriteTransaction(dbClient, transactionSeed, options.getOptimistic()); LOGGER.log( Level.INFO, String.format( @@ -2246,7 +2255,7 @@ private Status executeStartTxn( Level.INFO, "Starting read-write transaction %s\n", executionContext.getTransactionSeed()); - executionContext.startReadWriteTxn(dbClient, metadata); + executionContext.startReadWriteTxn(dbClient, metadata, action.getExecutionOptions()); } executionContext.setDatabaseClient(dbClient); executionContext.initReadState(); diff --git a/google-cloud-spanner/pom.xml b/google-cloud-spanner/pom.xml index b446dbf5648..6f77dfeb226 100644 --- a/google-cloud-spanner/pom.xml +++ b/google-cloud-spanner/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-spanner - 6.40.1-SNAPSHOT + 6.40.2-SNAPSHOT jar Google Cloud Spanner https://github.com/googleapis/java-spanner @@ -11,7 +11,7 @@ com.google.cloud google-cloud-spanner-parent - 6.40.1-SNAPSHOT + 6.40.2-SNAPSHOT google-cloud-spanner diff --git a/grpc-google-cloud-spanner-admin-database-v1/pom.xml b/grpc-google-cloud-spanner-admin-database-v1/pom.xml index 149f482adda..1ad665c26fe 100644 --- a/grpc-google-cloud-spanner-admin-database-v1/pom.xml +++ b/grpc-google-cloud-spanner-admin-database-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-spanner-admin-database-v1 - 6.40.1-SNAPSHOT + 6.40.2-SNAPSHOT grpc-google-cloud-spanner-admin-database-v1 GRPC library for grpc-google-cloud-spanner-admin-database-v1 com.google.cloud google-cloud-spanner-parent - 6.40.1-SNAPSHOT + 6.40.2-SNAPSHOT diff --git a/grpc-google-cloud-spanner-admin-instance-v1/pom.xml b/grpc-google-cloud-spanner-admin-instance-v1/pom.xml index 987b483b778..417be82d055 100644 --- a/grpc-google-cloud-spanner-admin-instance-v1/pom.xml +++ b/grpc-google-cloud-spanner-admin-instance-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-spanner-admin-instance-v1 - 6.40.1-SNAPSHOT + 6.40.2-SNAPSHOT grpc-google-cloud-spanner-admin-instance-v1 GRPC library for grpc-google-cloud-spanner-admin-instance-v1 com.google.cloud google-cloud-spanner-parent - 6.40.1-SNAPSHOT + 6.40.2-SNAPSHOT diff --git a/grpc-google-cloud-spanner-v1/pom.xml b/grpc-google-cloud-spanner-v1/pom.xml index 47e8f17dd2e..0d78faf31db 100644 --- a/grpc-google-cloud-spanner-v1/pom.xml +++ b/grpc-google-cloud-spanner-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-spanner-v1 - 6.40.1-SNAPSHOT + 6.40.2-SNAPSHOT grpc-google-cloud-spanner-v1 GRPC library for grpc-google-cloud-spanner-v1 com.google.cloud google-cloud-spanner-parent - 6.40.1-SNAPSHOT + 6.40.2-SNAPSHOT diff --git a/pom.xml b/pom.xml index cd4c49393ec..5ea7a2950ae 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-spanner-parent pom - 6.40.1-SNAPSHOT + 6.40.2-SNAPSHOT Google Cloud Spanner Parent https://github.com/googleapis/java-spanner @@ -62,37 +62,37 @@ com.google.api.grpc proto-google-cloud-spanner-admin-instance-v1 - 6.40.1-SNAPSHOT + 6.40.2-SNAPSHOT com.google.api.grpc proto-google-cloud-spanner-v1 - 6.40.1-SNAPSHOT + 6.40.2-SNAPSHOT com.google.api.grpc proto-google-cloud-spanner-admin-database-v1 - 6.40.1-SNAPSHOT + 6.40.2-SNAPSHOT com.google.api.grpc grpc-google-cloud-spanner-v1 - 6.40.1-SNAPSHOT + 6.40.2-SNAPSHOT com.google.api.grpc grpc-google-cloud-spanner-admin-instance-v1 - 6.40.1-SNAPSHOT + 6.40.2-SNAPSHOT com.google.api.grpc grpc-google-cloud-spanner-admin-database-v1 - 6.40.1-SNAPSHOT + 6.40.2-SNAPSHOT com.google.cloud google-cloud-spanner - 6.40.1-SNAPSHOT + 6.40.2-SNAPSHOT diff --git a/proto-google-cloud-spanner-admin-database-v1/pom.xml b/proto-google-cloud-spanner-admin-database-v1/pom.xml index ee898201a41..f5e38b90c1c 100644 --- a/proto-google-cloud-spanner-admin-database-v1/pom.xml +++ b/proto-google-cloud-spanner-admin-database-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-spanner-admin-database-v1 - 6.40.1-SNAPSHOT + 6.40.2-SNAPSHOT proto-google-cloud-spanner-admin-database-v1 PROTO library for proto-google-cloud-spanner-admin-database-v1 com.google.cloud google-cloud-spanner-parent - 6.40.1-SNAPSHOT + 6.40.2-SNAPSHOT diff --git a/proto-google-cloud-spanner-admin-instance-v1/pom.xml b/proto-google-cloud-spanner-admin-instance-v1/pom.xml index 3c5845c82d2..9c9c77d5364 100644 --- a/proto-google-cloud-spanner-admin-instance-v1/pom.xml +++ b/proto-google-cloud-spanner-admin-instance-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-spanner-admin-instance-v1 - 6.40.1-SNAPSHOT + 6.40.2-SNAPSHOT proto-google-cloud-spanner-admin-instance-v1 PROTO library for proto-google-cloud-spanner-admin-instance-v1 com.google.cloud google-cloud-spanner-parent - 6.40.1-SNAPSHOT + 6.40.2-SNAPSHOT diff --git a/proto-google-cloud-spanner-v1/pom.xml b/proto-google-cloud-spanner-v1/pom.xml index dda6a5a6114..d2d1b2cbc87 100644 --- a/proto-google-cloud-spanner-v1/pom.xml +++ b/proto-google-cloud-spanner-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-spanner-v1 - 6.40.1-SNAPSHOT + 6.40.2-SNAPSHOT proto-google-cloud-spanner-v1 PROTO library for proto-google-cloud-spanner-v1 com.google.cloud google-cloud-spanner-parent - 6.40.1-SNAPSHOT + 6.40.2-SNAPSHOT diff --git a/samples/install-without-bom/pom.xml b/samples/install-without-bom/pom.xml index 4229d9ca045..47eb81f1ed2 100644 --- a/samples/install-without-bom/pom.xml +++ b/samples/install-without-bom/pom.xml @@ -22,8 +22,8 @@ 1.8 UTF-8 0.31.1 - 2.14.0 - 3.15.0 + 2.15.0 + 3.16.0 @@ -32,7 +32,7 @@ com.google.cloud google-cloud-spanner - 6.40.0 + 6.40.1 diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml index 5a21495921c..0ec7b96557b 100644 --- a/samples/snapshot/pom.xml +++ b/samples/snapshot/pom.xml @@ -22,8 +22,8 @@ 1.8 UTF-8 0.31.1 - 2.14.0 - 3.15.0 + 2.15.0 + 3.16.0 @@ -31,7 +31,7 @@ com.google.cloud google-cloud-spanner - 6.40.1-SNAPSHOT + 6.40.2-SNAPSHOT diff --git a/versions.txt b/versions.txt index 371860f7a75..6d66441bcf9 100644 --- a/versions.txt +++ b/versions.txt @@ -1,11 +1,11 @@ # Format: # module:released-version:current-version -proto-google-cloud-spanner-admin-instance-v1:6.40.0:6.40.1-SNAPSHOT -proto-google-cloud-spanner-v1:6.40.0:6.40.1-SNAPSHOT -proto-google-cloud-spanner-admin-database-v1:6.40.0:6.40.1-SNAPSHOT -grpc-google-cloud-spanner-v1:6.40.0:6.40.1-SNAPSHOT -grpc-google-cloud-spanner-admin-instance-v1:6.40.0:6.40.1-SNAPSHOT -grpc-google-cloud-spanner-admin-database-v1:6.40.0:6.40.1-SNAPSHOT -google-cloud-spanner:6.40.0:6.40.1-SNAPSHOT -google-cloud-spanner-executor:6.40.0:6.40.1-SNAPSHOT +proto-google-cloud-spanner-admin-instance-v1:6.40.1:6.40.2-SNAPSHOT +proto-google-cloud-spanner-v1:6.40.1:6.40.2-SNAPSHOT +proto-google-cloud-spanner-admin-database-v1:6.40.1:6.40.2-SNAPSHOT +grpc-google-cloud-spanner-v1:6.40.1:6.40.2-SNAPSHOT +grpc-google-cloud-spanner-admin-instance-v1:6.40.1:6.40.2-SNAPSHOT +grpc-google-cloud-spanner-admin-database-v1:6.40.1:6.40.2-SNAPSHOT +google-cloud-spanner:6.40.1:6.40.2-SNAPSHOT +google-cloud-spanner-executor:6.40.1:6.40.2-SNAPSHOT From 94e8f824a990fe898c871de18492ed73abe98615 Mon Sep 17 00:00:00 2001 From: Roma Slyusarchuk Date: Thu, 20 Apr 2023 14:06:23 -0700 Subject: [PATCH 5/5] fix: lint --- .../com/google/cloud/executor/spanner/CloudClientExecutor.java | 1 - 1 file changed, 1 deletion(-) diff --git a/google-cloud-spanner-executor/src/main/java/com/google/cloud/executor/spanner/CloudClientExecutor.java b/google-cloud-spanner-executor/src/main/java/com/google/cloud/executor/spanner/CloudClientExecutor.java index 7bc189cbf1d..f4b59505b01 100644 --- a/google-cloud-spanner-executor/src/main/java/com/google/cloud/executor/spanner/CloudClientExecutor.java +++ b/google-cloud-spanner-executor/src/main/java/com/google/cloud/executor/spanner/CloudClientExecutor.java @@ -95,7 +95,6 @@ import com.google.spanner.executor.v1.CloudInstanceConfigResponse; import com.google.spanner.executor.v1.CloudInstanceResponse; import com.google.spanner.executor.v1.Concurrency; -import com.google.spanner.executor.v1.TransactionExecutionOptions; import com.google.spanner.executor.v1.CopyCloudBackupAction; import com.google.spanner.executor.v1.CreateCloudBackupAction; import com.google.spanner.executor.v1.CreateCloudDatabaseAction;