diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml index fa335912b..52eaa54d8 100644 --- a/.github/.OwlBot.lock.yaml +++ b/.github/.OwlBot.lock.yaml @@ -13,5 +13,5 @@ # limitations under the License. docker: image: gcr.io/cloud-devrel-public-resources/owlbot-java:latest - digest: sha256:3a95f1b9b1102865ca551b76be51d2bdb850900c4db2f6d79269e7af81ac8f84 -# created: 2023-07-27T18:37:44.251188775Z + digest: sha256:88ba8dcc5c2c7792e1c3511381f4ab329002a1c42c512f66ca87ced572dfbf9f +# created: 2023-09-05T18:54:42.225408832Z diff --git a/CHANGELOG.md b/CHANGELOG.md index 9f235cfe8..dba7d3246 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,25 @@ # Changelog +## [2.17.2](https://github.com/googleapis/java-datastore/compare/v2.17.1...v2.17.2) (2023-09-26) + + +### Bug Fixes + +* Checksum format ([#1178](https://github.com/googleapis/java-datastore/issues/1178)) ([410b939](https://github.com/googleapis/java-datastore/commit/410b9397bb9ba480dff6217c0c4c27364e58db49)) +* Deprecate `databaseId` on datastore-v1-proto-client DatastoreOptions ([#1190](https://github.com/googleapis/java-datastore/issues/1190)) ([12a3d27](https://github.com/googleapis/java-datastore/commit/12a3d27ebc7ca87338ee896fd6ba3e804edd95ce)) + + +### Dependencies + +* Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.16.0 ([#1195](https://github.com/googleapis/java-datastore/issues/1195)) ([6f0cad7](https://github.com/googleapis/java-datastore/commit/6f0cad7268cee6347d34125c14c1133b80c840d7)) +* Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.16.1 ([#1198](https://github.com/googleapis/java-datastore/issues/1198)) ([8062be9](https://github.com/googleapis/java-datastore/commit/8062be94b00fe2967e592f3d0a35751f0d11a013)) +* Update dependency com.google.errorprone:error_prone_core to v2.22.0 ([#1194](https://github.com/googleapis/java-datastore/issues/1194)) ([b8f108a](https://github.com/googleapis/java-datastore/commit/b8f108a3d013b5b54c519db24b40dd63e4855240)) +* Update dependency org.graalvm.buildtools:junit-platform-native to v0.9.26 ([#1176](https://github.com/googleapis/java-datastore/issues/1176)) ([76e3a71](https://github.com/googleapis/java-datastore/commit/76e3a71560222894513a485cb91cec7161276e3c)) +* Update dependency org.graalvm.buildtools:junit-platform-native to v0.9.27 ([#1192](https://github.com/googleapis/java-datastore/issues/1192)) ([aa3bca1](https://github.com/googleapis/java-datastore/commit/aa3bca10de19350cabc244426ebc284c64cb7344)) +* Update dependency org.graalvm.buildtools:native-maven-plugin to v0.9.26 ([#1177](https://github.com/googleapis/java-datastore/issues/1177)) ([7733004](https://github.com/googleapis/java-datastore/commit/7733004aff34bb8b4b8addccc68e75080f0f33a5)) +* Update dependency org.graalvm.buildtools:native-maven-plugin to v0.9.27 ([#1193](https://github.com/googleapis/java-datastore/issues/1193)) ([a628255](https://github.com/googleapis/java-datastore/commit/a628255dffc2e8f871df699ebe7a94e4b75eb4b9)) +* Update gapic-generator-java to 2.26.0 ([#1197](https://github.com/googleapis/java-datastore/issues/1197)) ([2540282](https://github.com/googleapis/java-datastore/commit/2540282653d8f8f06a71568c81eca8d3cb70f00f)) + ## [2.17.1](https://github.com/googleapis/java-datastore/compare/v2.17.0...v2.17.1) (2023-09-11) diff --git a/README.md b/README.md index fd1b011ed..a6aa140f2 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ If you are using Maven with [BOM][libraries-bom], add this to your pom.xml file: com.google.cloud libraries-bom - 26.22.0 + 26.23.0 pom import @@ -42,7 +42,7 @@ If you are using Maven without the BOM, add this to your dependencies: com.google.cloud google-cloud-datastore - 2.17.0 + 2.17.1 ``` @@ -50,20 +50,20 @@ If you are using Maven without the BOM, add this to your dependencies: If you are using Gradle 5.x or later, add this to your dependencies: ```Groovy -implementation platform('com.google.cloud:libraries-bom:26.22.0') +implementation platform('com.google.cloud:libraries-bom:26.23.0') implementation 'com.google.cloud:google-cloud-datastore' ``` If you are using Gradle without BOM, add this to your dependencies: ```Groovy -implementation 'com.google.cloud:google-cloud-datastore:2.17.0' +implementation 'com.google.cloud:google-cloud-datastore:2.17.1' ``` If you are using SBT, add this to your dependencies: ```Scala -libraryDependencies += "com.google.cloud" % "google-cloud-datastore" % "2.17.0" +libraryDependencies += "com.google.cloud" % "google-cloud-datastore" % "2.17.1" ``` @@ -380,7 +380,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-datastore/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-datastore.svg -[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-datastore/2.17.0 +[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-datastore/2.17.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/datastore-v1-proto-client/pom.xml b/datastore-v1-proto-client/pom.xml index a693fcb34..a1863384d 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.17.1 + 2.17.2 com.google.cloud google-cloud-datastore-parent - 2.17.1 + 2.17.2 jar diff --git a/datastore-v1-proto-client/src/main/java/com/google/datastore/v1/client/ChecksumEnforcingInputStream.java b/datastore-v1-proto-client/src/main/java/com/google/datastore/v1/client/ChecksumEnforcingInputStream.java index 0b91f18e2..e8cc4163a 100644 --- a/datastore-v1-proto-client/src/main/java/com/google/datastore/v1/client/ChecksumEnforcingInputStream.java +++ b/datastore-v1-proto-client/src/main/java/com/google/datastore/v1/client/ChecksumEnforcingInputStream.java @@ -76,7 +76,7 @@ public int read(byte[] b, int off, int len) throws IOException { endToEndChecksumHandler.update(b, off, i); } else { // no more payload to read. compute checksum and verify - if (!expectedChecksum.equalsIgnoreCase(endToEndChecksumHandler.hash())) { + if (!expectedChecksum.equals(endToEndChecksumHandler.hash())) { throw new IOException("possible memory corruption on payload detected"); } } diff --git a/datastore-v1-proto-client/src/main/java/com/google/datastore/v1/client/DatastoreOptions.java b/datastore-v1-proto-client/src/main/java/com/google/datastore/v1/client/DatastoreOptions.java index eefd629ec..687410d78 100644 --- a/datastore-v1-proto-client/src/main/java/com/google/datastore/v1/client/DatastoreOptions.java +++ b/datastore-v1-proto-client/src/main/java/com/google/datastore/v1/client/DatastoreOptions.java @@ -41,7 +41,9 @@ */ public class DatastoreOptions { private final String projectId; - private final String databaseId; + + @Deprecated private final String databaseId; + private final String projectEndpoint; private final String host; private final String localHost; @@ -75,7 +77,9 @@ public static class Builder { "Can set at most one of project endpoint, host, and local host."; private String projectId; - private String databaseId; + + @Deprecated private String databaseId; + private String projectEndpoint; private String host; private String localHost; @@ -107,8 +111,19 @@ public Builder projectId(String projectId) { return this; } - /** Sets the database ID used to access Cloud Datastore. */ + /** + * This field is ignored and will be removed in a future release. Please set the database id on + * the request itself. For example: + * + *
{@code
+     * CommitRequest.newBuilder()
+     *     .setDatabaseId("my-database-id")
+     *     ....
+     *     .build();
+     * }
+ */ @BetaApi + @Deprecated public Builder databaseId(String databaseId) { this.databaseId = databaseId; return this; @@ -188,7 +203,19 @@ public String getProjectId() { return projectId; } + /** + * This field is ignored and will be removed in a future release. Please set the database id on + * the request itself. For example: + * + *
{@code
+   * CommitRequest.newBuilder()
+   *     .setDatabaseId("my-database-id")
+   *     ....
+   *     .build();
+   * }
+ */ @BetaApi + @Deprecated public String getDatabaseId() { return databaseId; } diff --git a/datastore-v1-proto-client/src/main/java/com/google/datastore/v1/client/EndToEndChecksumHandler.java b/datastore-v1-proto-client/src/main/java/com/google/datastore/v1/client/EndToEndChecksumHandler.java index 01aa303c8..3f840a8ba 100644 --- a/datastore-v1-proto-client/src/main/java/com/google/datastore/v1/client/EndToEndChecksumHandler.java +++ b/datastore-v1-proto-client/src/main/java/com/google/datastore/v1/client/EndToEndChecksumHandler.java @@ -40,7 +40,11 @@ static String computeChecksum(byte[] bytes) { return null; } HashCode hc = getNewCrc32cHasher().putBytes(bytes).hash(); - return hc.toString(); + return hashToString(hc); + } + + private static String hashToString(HashCode hc) { + return String.valueOf(Integer.toUnsignedLong(hc.asInt())); } private static Hasher getNewCrc32cHasher() { @@ -59,7 +63,7 @@ static boolean validateChecksum(String checksum, byte[] bytes) { && !checksum.isEmpty() && bytes != null && bytes.length > 0 - && checksum.equalsIgnoreCase(computeChecksum(bytes)); + && checksum.equals(computeChecksum(bytes)); } static boolean hasChecksumHeader(HttpResponse response) { @@ -76,6 +80,6 @@ void update(byte[] bytes, int off, int len) { } String hash() { - return hasher.hash().toString(); + return hashToString(hasher.hash()); } } diff --git a/datastore-v1-proto-client/src/test/java/com/google/datastore/v1/client/DatastoreClientTest.java b/datastore-v1-proto-client/src/test/java/com/google/datastore/v1/client/DatastoreClientTest.java index 3eb7a66de..3fd82ddca 100644 --- a/datastore-v1-proto-client/src/test/java/com/google/datastore/v1/client/DatastoreClientTest.java +++ b/datastore-v1-proto-client/src/test/java/com/google/datastore/v1/client/DatastoreClientTest.java @@ -216,6 +216,7 @@ public void create_LocalHost() { } @Test + // TODO: remove this test once deprecated `databaseId` is removed public void setDatabaseId() { DatastoreOptions options = new DatastoreOptions.Builder() diff --git a/datastore-v1-proto-client/src/test/java/com/google/datastore/v1/client/EndToEndChecksumHandlerTest.java b/datastore-v1-proto-client/src/test/java/com/google/datastore/v1/client/EndToEndChecksumHandlerTest.java index b0a7e4e86..1fdc1906a 100644 --- a/datastore-v1-proto-client/src/test/java/com/google/datastore/v1/client/EndToEndChecksumHandlerTest.java +++ b/datastore-v1-proto-client/src/test/java/com/google/datastore/v1/client/EndToEndChecksumHandlerTest.java @@ -16,6 +16,7 @@ package com.google.datastore.v1.client; import static java.nio.charset.StandardCharsets.UTF_8; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; @@ -27,7 +28,10 @@ /** Test for {@link EndToEndChecksumHandler}. */ @RunWith(JUnit4.class) public class EndToEndChecksumHandlerTest { - private byte[] payloadBytes = "This is a long string with numbers 1234, 134.56 ".getBytes(UTF_8); + private final byte[] payloadBytes = + "This is a long string with numbers 1234, 134.56 ".getBytes(UTF_8); + private final byte[] payloadForUnsignedLongChecksum = "aaa".getBytes(UTF_8); + private final String unsignedLongChecksum = "3818383321"; @Test public void validateChecksum_correctChecksum() { @@ -35,6 +39,12 @@ public void validateChecksum_correctChecksum() { assertTrue(EndToEndChecksumHandler.validateChecksum(computed, payloadBytes)); } + @Test + public void computeChecksum_returnsUnsignedLongAsStringValue() { + String computed = EndToEndChecksumHandler.computeChecksum(payloadForUnsignedLongChecksum); + assertEquals("computeChecksum return value", unsignedLongChecksum, computed); + } + @Test public void validateChecksum_incorrectChecksum() { String computed = EndToEndChecksumHandler.computeChecksum("random string".getBytes(UTF_8)); diff --git a/datastore-v1-proto-client/src/test/java/com/google/datastore/v1/client/RemoteRpcTest.java b/datastore-v1-proto-client/src/test/java/com/google/datastore/v1/client/RemoteRpcTest.java index 281e92f04..28e3f20b8 100644 --- a/datastore-v1-proto-client/src/test/java/com/google/datastore/v1/client/RemoteRpcTest.java +++ b/datastore-v1-proto-client/src/test/java/com/google/datastore/v1/client/RemoteRpcTest.java @@ -176,7 +176,7 @@ public void testHttpHeaders_expectE2eChecksumHeader() throws IOException { httpRequest .getHeaders() .getFirstHeaderStringValue(EndToEndChecksumHandler.HTTP_REQUEST_CHECKSUM_HEADER); - assertEquals(8, header.length()); + assertEquals(9, header.length()); } @Test diff --git a/google-cloud-datastore-bom/pom.xml b/google-cloud-datastore-bom/pom.xml index 34a7e2b19..f0219d485 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.17.1 + 2.17.2 pom com.google.cloud @@ -52,22 +52,22 @@ com.google.cloud google-cloud-datastore - 2.17.1 + 2.17.2 com.google.api.grpc grpc-google-cloud-datastore-admin-v1 - 2.17.1 + 2.17.2 com.google.api.grpc proto-google-cloud-datastore-v1 - 0.108.1 + 0.108.2 com.google.api.grpc proto-google-cloud-datastore-admin-v1 - 2.17.1 + 2.17.2 diff --git a/google-cloud-datastore/pom.xml b/google-cloud-datastore/pom.xml index a1619a509..1fc4e12bb 100644 --- a/google-cloud-datastore/pom.xml +++ b/google-cloud-datastore/pom.xml @@ -2,7 +2,7 @@ 4.0.0 google-cloud-datastore - 2.17.1 + 2.17.2 jar Google Cloud Datastore https://github.com/googleapis/java-datastore @@ -12,7 +12,7 @@ com.google.cloud google-cloud-datastore-parent - 2.17.1 + 2.17.2 google-cloud-datastore diff --git a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/spi/v1/HttpDatastoreRpc.java b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/spi/v1/HttpDatastoreRpc.java index cfbbaa7df..fd3cdc658 100644 --- a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/spi/v1/HttpDatastoreRpc.java +++ b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/spi/v1/HttpDatastoreRpc.java @@ -55,7 +55,6 @@ public HttpDatastoreRpc(DatastoreOptions options) { com.google.datastore.v1.client.DatastoreOptions.Builder clientBuilder = new com.google.datastore.v1.client.DatastoreOptions.Builder() .projectId(options.getProjectId()) - .databaseId(options.getDatabaseId()) .initializer(getHttpRequestInitializer(options, httpTransportOptions)) .transport(transport); String normalizedHost = options.getHost() != null ? options.getHost().toLowerCase() : ""; diff --git a/grpc-google-cloud-datastore-admin-v1/pom.xml b/grpc-google-cloud-datastore-admin-v1/pom.xml index 0d4643da7..35bc22f03 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.17.1 + 2.17.2 grpc-google-cloud-datastore-admin-v1 GRPC library for google-cloud-datastore com.google.cloud google-cloud-datastore-parent - 2.17.1 + 2.17.2 diff --git a/grpc-google-cloud-datastore-admin-v1/src/main/java/com/google/datastore/admin/v1/DatastoreAdminGrpc.java b/grpc-google-cloud-datastore-admin-v1/src/main/java/com/google/datastore/admin/v1/DatastoreAdminGrpc.java index 1b1f7803f..e92318892 100644 --- a/grpc-google-cloud-datastore-admin-v1/src/main/java/com/google/datastore/admin/v1/DatastoreAdminGrpc.java +++ b/grpc-google-cloud-datastore-admin-v1/src/main/java/com/google/datastore/admin/v1/DatastoreAdminGrpc.java @@ -68,7 +68,7 @@ public final class DatastoreAdminGrpc { private DatastoreAdminGrpc() {} - public static final String SERVICE_NAME = "google.datastore.admin.v1.DatastoreAdmin"; + public static final java.lang.String SERVICE_NAME = "google.datastore.admin.v1.DatastoreAdmin"; // Static method descriptors that strictly reflect the proto. private static volatile io.grpc.MethodDescriptor< @@ -1242,9 +1242,9 @@ private static final class DatastoreAdminFileDescriptorSupplier private static final class DatastoreAdminMethodDescriptorSupplier extends DatastoreAdminBaseDescriptorSupplier implements io.grpc.protobuf.ProtoMethodDescriptorSupplier { - private final String methodName; + private final java.lang.String methodName; - DatastoreAdminMethodDescriptorSupplier(String methodName) { + DatastoreAdminMethodDescriptorSupplier(java.lang.String methodName) { this.methodName = methodName; } diff --git a/pom.xml b/pom.xml index bba6d9fa5..1542cf130 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-datastore-parent pom - 2.17.1 + 2.17.2 Google Cloud Datastore Parent https://github.com/googleapis/java-datastore @@ -143,7 +143,7 @@ github google-cloud-datastore-parent https://googleapis.dev/java/google-api-grpc/latest - 2.21.1 + 2.22.0 @@ -151,7 +151,7 @@ com.google.cloud google-cloud-shared-dependencies - 3.15.0 + 3.16.1 pom import @@ -159,27 +159,27 @@ com.google.api.grpc proto-google-cloud-datastore-admin-v1 - 2.17.1 + 2.17.2 com.google.api.grpc grpc-google-cloud-datastore-admin-v1 - 2.17.1 + 2.17.2 com.google.cloud google-cloud-datastore - 2.17.1 + 2.17.2 com.google.api.grpc proto-google-cloud-datastore-v1 - 0.108.1 + 0.108.2 com.google.cloud.datastore datastore-v1-proto-client - 2.17.1 + 2.17.2 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 55665d8a5..3da798826 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.17.1 + 2.17.2 proto-google-cloud-datastore-admin-v1 Proto library for google-cloud-datastore com.google.cloud google-cloud-datastore-parent - 2.17.1 + 2.17.2 diff --git a/proto-google-cloud-datastore-v1/pom.xml b/proto-google-cloud-datastore-v1/pom.xml index 77305438f..8b67a6d27 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.108.1 + 0.108.2 proto-google-cloud-datastore-v1 PROTO library for proto-google-cloud-datastore-v1 com.google.cloud google-cloud-datastore-parent - 2.17.1 + 2.17.2 diff --git a/renovate.json b/renovate.json index f72fe4775..d85059fc5 100644 --- a/renovate.json +++ b/renovate.json @@ -10,7 +10,10 @@ ":maintainLockFilesDisabled", ":autodetectPinVersions" ], - "ignorePaths": [".kokoro/requirements.txt"], + "ignorePaths": [ + ".kokoro/requirements.txt", + ".github/workflows/**" + ], "packageRules": [ { "packagePatterns": [ diff --git a/samples/install-without-bom/pom.xml b/samples/install-without-bom/pom.xml index d77507645..f408a2ed1 100644 --- a/samples/install-without-bom/pom.xml +++ b/samples/install-without-bom/pom.xml @@ -29,7 +29,7 @@ com.google.cloud google-cloud-datastore - 2.17.0 + 2.17.1 diff --git a/samples/native-image-sample/pom.xml b/samples/native-image-sample/pom.xml index 1269932bc..5e36f7335 100644 --- a/samples/native-image-sample/pom.xml +++ b/samples/native-image-sample/pom.xml @@ -28,7 +28,7 @@ com.google.cloud libraries-bom - 26.22.0 + 26.23.0 pom import @@ -86,7 +86,7 @@ org.graalvm.buildtools junit-platform-native - 0.9.24 + 0.9.27 test @@ -107,7 +107,7 @@ org.graalvm.buildtools native-maven-plugin - 0.9.24 + 0.9.27 true com.example.datastore.NativeImageDatastoreSample diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml index 81807f24a..b240ef8e4 100644 --- a/samples/snapshot/pom.xml +++ b/samples/snapshot/pom.xml @@ -28,7 +28,7 @@ com.google.cloud google-cloud-datastore - 2.17.1 + 2.17.2 diff --git a/samples/snippets/pom.xml b/samples/snippets/pom.xml index eb806662d..d2f0cde15 100644 --- a/samples/snippets/pom.xml +++ b/samples/snippets/pom.xml @@ -30,7 +30,7 @@ com.google.cloud libraries-bom - 26.22.0 + 26.23.0 pom import diff --git a/versions.txt b/versions.txt index fbfda5a27..d641a75aa 100644 --- a/versions.txt +++ b/versions.txt @@ -1,9 +1,9 @@ # Format: # module:released-version:current-version -google-cloud-datastore:2.17.1:2.17.1 -google-cloud-datastore-bom:2.17.1:2.17.1 -proto-google-cloud-datastore-v1:0.108.1:0.108.1 -datastore-v1-proto-client:2.17.1:2.17.1 -proto-google-cloud-datastore-admin-v1:2.17.1:2.17.1 -grpc-google-cloud-datastore-admin-v1:2.17.1:2.17.1 +google-cloud-datastore:2.17.2:2.17.2 +google-cloud-datastore-bom:2.17.2:2.17.2 +proto-google-cloud-datastore-v1:0.108.2:0.108.2 +datastore-v1-proto-client:2.17.2:2.17.2 +proto-google-cloud-datastore-admin-v1:2.17.2:2.17.2 +grpc-google-cloud-datastore-admin-v1:2.17.2:2.17.2