It executes statements (under multiple transactions) and record their failures under a groupId
+ * provided by users.
+ */
+class StatementExecutor {
+
+ private final Multimap
WARNING: This class maintains an internal state in terms of {@link + * java.util.LinkedHashMap} and {@link java.util.LinkedHashSet} which gets updated on every method + * call performing CRUD operations to record the mutations. Since {@link java.util.LinkedHashMap} is + * not thread safe as per its documentation, + * This class too should not be treated as a thread safe class. */ +@NotThreadSafe public interface Batch extends DatastoreBatchWriter { interface Response { diff --git a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/DatastoreBatchWriter.java b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/DatastoreBatchWriter.java index d03d90af8..db4bd3179 100644 --- a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/DatastoreBatchWriter.java +++ b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/DatastoreBatchWriter.java @@ -17,11 +17,20 @@ package com.google.cloud.datastore; import java.util.List; +import javax.annotation.concurrent.NotThreadSafe; /** * An interface to represent a batch of write operations. All write operation for a batch writer * will be applied to the Datastore in one RPC call. + * + *
WARNING: This class maintains an internal state in terms of {@link + * java.util.LinkedHashMap} and {@link java.util.LinkedHashSet} which gets updated on every method + * call performing CRUD operations to record the mutations. Since {@link java.util.LinkedHashMap} is + * not thread safe as per its documentation, + * This class too should not be treated as a thread safe class. */ +@NotThreadSafe public interface DatastoreBatchWriter extends DatastoreWriter { /** diff --git a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/Transaction.java b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/Transaction.java index 9880b4748..69c18d75c 100644 --- a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/Transaction.java +++ b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/Transaction.java @@ -19,14 +19,15 @@ import com.google.protobuf.ByteString; import java.util.Iterator; import java.util.List; +import javax.annotation.concurrent.NotThreadSafe; /** * A Google cloud datastore transaction. Similar to {@link Batch} any write operation that is * applied on a transaction will only be sent to the Datastore upon {@link #commit}. A call to * {@link #rollback} will invalidate the transaction and discard the changes. Any read operation * that is done by a transaction will be part of it and therefore a {@code commit} is guaranteed to - * fail if an entity was modified outside of the transaction after it was read. Write operation on - * this transaction will not be reflected by read operation (as the changes are only sent to the + * fail if an entity was modified outside the transaction after it was read. Write operation on this + * transaction will not be reflected by read operation (as the changes are only sent to the * Datastore upon {@code commit}. A usage example: * *
{@code @@ -52,7 +53,14 @@ * * @see Google Cloud * Datastore transactions + *WARNING: This class maintains an internal state in terms of {@link + * java.util.LinkedHashMap} and {@link java.util.LinkedHashSet} which gets updated on every + * method call performing CRUD operations to record the mutations. Since {@link + * java.util.LinkedHashMap} is not thread safe as per its documentation, + * This class too should not be treated as a thread safe class. */ +@NotThreadSafe public interface Transaction extends DatastoreBatchWriter, DatastoreReaderWriter { interface Response { From e3ad86614a2462054bfb800613f2456f6f98102d Mon Sep 17 00:00:00 2001 From: Mend Renovate
Date: Mon, 29 May 2023 09:27:53 +0200 Subject: [PATCH 13/14] deps: update dependency com.google.cloud:google-cloud-shared-dependencies to v3.10.1 (#1086) --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index ad5d03f66..d2158546b 100644 --- a/pom.xml +++ b/pom.xml @@ -151,7 +151,7 @@ From 33dc935503fcdb69299d4f79aad5e4f5930bcad5 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Mon, 29 May 2023 14:20:33 +0530 Subject: [PATCH 14/14] chore(main): release 2.14.7 (#1076) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- CHANGELOG.md | 16 ++++++++++++++++ datastore-v1-proto-client/pom.xml | 4 ++-- google-cloud-datastore-bom/pom.xml | 10 +++++----- google-cloud-datastore/pom.xml | 4 ++-- grpc-google-cloud-datastore-admin-v1/pom.xml | 4 ++-- pom.xml | 12 ++++++------ proto-google-cloud-datastore-admin-v1/pom.xml | 4 ++-- proto-google-cloud-datastore-v1/pom.xml | 4 ++-- versions.txt | 12 ++++++------ 9 files changed, 43 insertions(+), 27 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index da08db8f7..c29fa7871 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,21 @@ # Changelog +## [2.14.7](https://github.com/googleapis/java-datastore/compare/v2.14.6...v2.14.7) (2023-05-29) + + +### Documentation + +* Marking Transaction, Batch and DatastoreBatchWriter class with 'NotThreadSafe' annotation ([#1082](https://github.com/googleapis/java-datastore/issues/1082)) ([9e96650](https://github.com/googleapis/java-datastore/commit/9e966506c1e860f10e82d34bd6a705c1cae71764)) + + +### Dependencies + +* Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.10.0 ([#1085](https://github.com/googleapis/java-datastore/issues/1085)) ([47df1b8](https://github.com/googleapis/java-datastore/commit/47df1b8a4b54eae0bb42e261e02d64aee7b95e7a)) +* Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.10.1 ([#1086](https://github.com/googleapis/java-datastore/issues/1086)) ([e3ad866](https://github.com/googleapis/java-datastore/commit/e3ad86614a2462054bfb800613f2456f6f98102d)) +* Update dependency com.google.errorprone:error_prone_core to v2.19.1 ([#1069](https://github.com/googleapis/java-datastore/issues/1069)) ([2390016](https://github.com/googleapis/java-datastore/commit/239001682bd1284be39d4646ce0594274070c143)) +* Update dependency org.graalvm.buildtools:junit-platform-native to v0.9.22 ([#1074](https://github.com/googleapis/java-datastore/issues/1074)) ([c0cc456](https://github.com/googleapis/java-datastore/commit/c0cc4565cc0e34098f5bc97c031ae671af44fcf3)) +* Update dependency org.graalvm.buildtools:native-maven-plugin to v0.9.22 ([#1075](https://github.com/googleapis/java-datastore/issues/1075)) ([a4db895](https://github.com/googleapis/java-datastore/commit/a4db89502e9611bf5f9760bfceb1025cc99a9830)) + ## [2.14.6](https://github.com/googleapis/java-datastore/compare/v2.14.5...v2.14.6) (2023-05-09) diff --git a/datastore-v1-proto-client/pom.xml b/datastore-v1-proto-client/pom.xml index 755bb5b0d..2856a0169 100644 --- a/datastore-v1-proto-client/pom.xml +++ b/datastore-v1-proto-client/pom.xml @@ -19,12 +19,12 @@ com.google.cloud google-cloud-shared-dependencies -3.10.0 +3.10.1 pom import 4.0.0 com.google.cloud.datastore datastore-v1-proto-client -2.14.7-SNAPSHOT +2.14.7 com.google.cloud google-cloud-datastore-parent -2.14.7-SNAPSHOT +2.14.7 jar diff --git a/google-cloud-datastore-bom/pom.xml b/google-cloud-datastore-bom/pom.xml index 6dae71644..daa66d945 100644 --- a/google-cloud-datastore-bom/pom.xml +++ b/google-cloud-datastore-bom/pom.xml @@ -3,7 +3,7 @@4.0.0 com.google.cloud google-cloud-datastore-bom -2.14.7-SNAPSHOT +2.14.7 pom com.google.cloud @@ -52,22 +52,22 @@com.google.cloud google-cloud-datastore -2.14.7-SNAPSHOT +2.14.7 com.google.api.grpc grpc-google-cloud-datastore-admin-v1 -2.14.7-SNAPSHOT +2.14.7 com.google.api.grpc proto-google-cloud-datastore-v1 -0.105.7-SNAPSHOT +0.105.7 diff --git a/google-cloud-datastore/pom.xml b/google-cloud-datastore/pom.xml index a086383be..8196db8da 100644 --- a/google-cloud-datastore/pom.xml +++ b/google-cloud-datastore/pom.xml @@ -2,7 +2,7 @@ com.google.api.grpc proto-google-cloud-datastore-admin-v1 -2.14.7-SNAPSHOT +2.14.7 4.0.0 google-cloud-datastore -2.14.7-SNAPSHOT +2.14.7 jar Google Cloud Datastore https://github.com/googleapis/java-datastore @@ -12,7 +12,7 @@com.google.cloud google-cloud-datastore-parent -2.14.7-SNAPSHOT +2.14.7 google-cloud-datastore diff --git a/grpc-google-cloud-datastore-admin-v1/pom.xml b/grpc-google-cloud-datastore-admin-v1/pom.xml index 268b3ab78..142659867 100644 --- a/grpc-google-cloud-datastore-admin-v1/pom.xml +++ b/grpc-google-cloud-datastore-admin-v1/pom.xml @@ -4,13 +4,13 @@4.0.0 com.google.api.grpc grpc-google-cloud-datastore-admin-v1 -2.14.7-SNAPSHOT +2.14.7 grpc-google-cloud-datastore-admin-v1 GRPC library for google-cloud-datastore com.google.cloud google-cloud-datastore-parent -2.14.7-SNAPSHOT +2.14.7 diff --git a/pom.xml b/pom.xml index d2158546b..b0b6d9fbe 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-datastore-parent pom -2.14.7-SNAPSHOT +2.14.7 Google Cloud Datastore Parent https://github.com/googleapis/java-datastore @@ -159,27 +159,27 @@ com.google.api.grpc proto-google-cloud-datastore-admin-v1 -2.14.7-SNAPSHOT +2.14.7 com.google.api.grpc grpc-google-cloud-datastore-admin-v1 -2.14.7-SNAPSHOT +2.14.7 com.google.cloud google-cloud-datastore -2.14.7-SNAPSHOT +2.14.7 com.google.api.grpc proto-google-cloud-datastore-v1 -0.105.7-SNAPSHOT +0.105.7 com.google.cloud.datastore datastore-v1-proto-client -2.14.7-SNAPSHOT +2.14.7 com.google.api.grpc diff --git a/proto-google-cloud-datastore-admin-v1/pom.xml b/proto-google-cloud-datastore-admin-v1/pom.xml index 5c1b10653..70bd9bb5f 100644 --- a/proto-google-cloud-datastore-admin-v1/pom.xml +++ b/proto-google-cloud-datastore-admin-v1/pom.xml @@ -4,13 +4,13 @@4.0.0 com.google.api.grpc proto-google-cloud-datastore-admin-v1 -2.14.7-SNAPSHOT +2.14.7 proto-google-cloud-datastore-admin-v1 Proto library for google-cloud-datastore com.google.cloud google-cloud-datastore-parent -2.14.7-SNAPSHOT +2.14.7 diff --git a/proto-google-cloud-datastore-v1/pom.xml b/proto-google-cloud-datastore-v1/pom.xml index 336513bb7..e8c1b8b3d 100644 --- a/proto-google-cloud-datastore-v1/pom.xml +++ b/proto-google-cloud-datastore-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-datastore-v1 -0.105.7-SNAPSHOT +0.105.7 proto-google-cloud-datastore-v1 PROTO library for proto-google-cloud-datastore-v1 com.google.cloud google-cloud-datastore-parent -2.14.7-SNAPSHOT +2.14.7 diff --git a/versions.txt b/versions.txt index 7614b37a6..bd1c2fa3e 100644 --- a/versions.txt +++ b/versions.txt @@ -1,9 +1,9 @@ # Format: # module:released-version:current-version -google-cloud-datastore:2.14.6:2.14.7-SNAPSHOT -google-cloud-datastore-bom:2.14.6:2.14.7-SNAPSHOT -proto-google-cloud-datastore-v1:0.105.6:0.105.7-SNAPSHOT -datastore-v1-proto-client:2.14.6:2.14.7-SNAPSHOT -proto-google-cloud-datastore-admin-v1:2.14.6:2.14.7-SNAPSHOT -grpc-google-cloud-datastore-admin-v1:2.14.6:2.14.7-SNAPSHOT +google-cloud-datastore:2.14.7:2.14.7 +google-cloud-datastore-bom:2.14.7:2.14.7 +proto-google-cloud-datastore-v1:0.105.7:0.105.7 +datastore-v1-proto-client:2.14.7:2.14.7 +proto-google-cloud-datastore-admin-v1:2.14.7:2.14.7 +grpc-google-cloud-datastore-admin-v1:2.14.7:2.14.7