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 @@
com.google.cloud
google-cloud-shared-dependencies
- 3.10.0
+ 3.10.1
pom
import
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 @@
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
com.google.api.grpc
proto-google-cloud-datastore-admin-v1
- 2.14.7-SNAPSHOT
+ 2.14.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 @@
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