diff --git a/.github/readme/synth.metadata/synth.metadata b/.github/readme/synth.metadata/synth.metadata
index 8cd6bad21..0a64bc391 100644
--- a/.github/readme/synth.metadata/synth.metadata
+++ b/.github/readme/synth.metadata/synth.metadata
@@ -4,14 +4,14 @@
"git": {
"name": ".",
"remote": "https://github.com/googleapis/java-firestore.git",
- "sha": "4259bb218f2dd3edbdfb3271bbcd361d45b5e064"
+ "sha": "abf03fd06d4f77582c2ad24b8721b3c3556bdef1"
}
},
{
"git": {
"name": "synthtool",
"remote": "https://github.com/googleapis/synthtool.git",
- "sha": "c3e41da0fa256ad7f6b4bc76b9d069dedecdfef4"
+ "sha": "2430f8d90ed8a508e8422a3a7191e656d5a6bf53"
}
}
]
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a5071cd98..8b6955d57 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,18 @@
# Changelog
+### [2.5.1](https://www.github.com/googleapis/java-firestore/compare/v2.5.0...v2.5.1) (2021-06-22)
+
+
+### Bug Fixes
+
+* return results from getPartitions() in order ([#653](https://www.github.com/googleapis/java-firestore/issues/653)) ([12d17d1](https://www.github.com/googleapis/java-firestore/commit/12d17d1ac9d7a1c21eca1469164b079de4476633))
+
+
+### Dependencies
+
+* update dependency com.google.cloud:google-cloud-conformance-tests to v0.1.1 ([#650](https://www.github.com/googleapis/java-firestore/issues/650)) ([b93ca8a](https://www.github.com/googleapis/java-firestore/commit/b93ca8a2b5751c61b3fbe0ca608056e2c0398575))
+* update dependency com.google.cloud:google-cloud-shared-dependencies to v1.3.0 ([#660](https://www.github.com/googleapis/java-firestore/issues/660)) ([0f13fd0](https://www.github.com/googleapis/java-firestore/commit/0f13fd0c0db0208b9f68a57dabcb1e998b4a7b9b))
+
## [2.5.0](https://www.github.com/googleapis/java-firestore/compare/v2.4.0...v2.5.0) (2021-06-01)
diff --git a/README.md b/README.md
index 46b61008d..6e1246b0d 100644
--- a/README.md
+++ b/README.md
@@ -17,7 +17,7 @@ If you are using Maven with [BOM][libraries-bom], add this to your pom.xml file
com.google.cloud
libraries-bom
- 20.5.0
+ 20.6.0
pom
import
@@ -45,18 +45,18 @@ If you are using Maven without 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:20.5.0')
+implementation platform('com.google.cloud:libraries-bom:20.6.0')
compile 'com.google.cloud:google-cloud-firestore'
```
If you are using Gradle without BOM, add this to your dependencies
```Groovy
-compile 'com.google.cloud:google-cloud-firestore:2.4.0'
+compile 'com.google.cloud:google-cloud-firestore:2.5.0'
```
If you are using SBT, add this to your dependencies
```Scala
-libraryDependencies += "com.google.cloud" % "google-cloud-firestore" % "2.4.0"
+libraryDependencies += "com.google.cloud" % "google-cloud-firestore" % "2.5.0"
```
## Authentication
diff --git a/google-cloud-firestore-admin/pom.xml b/google-cloud-firestore-admin/pom.xml
index 58679fcd0..48f940aec 100644
--- a/google-cloud-firestore-admin/pom.xml
+++ b/google-cloud-firestore-admin/pom.xml
@@ -4,7 +4,7 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
google-cloud-firestore-admin
- 2.5.0
+ 2.5.1
jar
Google Cloud Firestore Admin Client
https://github.com/googleapis/java-firestore
@@ -14,7 +14,7 @@
com.google.cloud
google-cloud-firestore-parent
- 2.5.0
+ 2.5.1
diff --git a/google-cloud-firestore-admin/src/test/java/com/google/cloud/firestore/v1/FirestoreAdminClientTest.java b/google-cloud-firestore-admin/src/test/java/com/google/cloud/firestore/v1/FirestoreAdminClientTest.java
index 4372bd480..bd6588a9b 100644
--- a/google-cloud-firestore-admin/src/test/java/com/google/cloud/firestore/v1/FirestoreAdminClientTest.java
+++ b/google-cloud-firestore-admin/src/test/java/com/google/cloud/firestore/v1/FirestoreAdminClientTest.java
@@ -67,10 +67,10 @@
@Generated("by gapic-generator-java")
public class FirestoreAdminClientTest {
+ private static MockFirestoreAdmin mockFirestoreAdmin;
private static MockServiceHelper mockServiceHelper;
private FirestoreAdminClient client;
private LocalChannelProvider channelProvider;
- private static MockFirestoreAdmin mockFirestoreAdmin;
@BeforeClass
public static void startStaticServer() {
diff --git a/google-cloud-firestore-bom/pom.xml b/google-cloud-firestore-bom/pom.xml
index e35143f00..595127e76 100644
--- a/google-cloud-firestore-bom/pom.xml
+++ b/google-cloud-firestore-bom/pom.xml
@@ -3,7 +3,7 @@
4.0.0
com.google.cloud
google-cloud-firestore-bom
- 2.5.0
+ 2.5.1
pom
com.google.cloud
@@ -63,37 +63,37 @@
com.google.cloud
google-cloud-firestore
- 2.5.0
+ 2.5.1
com.google.api.grpc
proto-google-cloud-firestore-admin-v1
- 2.5.0
+ 2.5.1
com.google.cloud
proto-google-cloud-firestore-bundle-v1
- 2.5.0
+ 2.5.1
com.google.api.grpc
proto-google-cloud-firestore-v1
- 2.5.0
+ 2.5.1
com.google.api.grpc
grpc-google-cloud-firestore-admin-v1
- 2.5.0
+ 2.5.1
com.google.api.grpc
grpc-google-cloud-firestore-v1
- 2.5.0
+ 2.5.1
com.google.cloud
google-cloud-firestore-admin
- 2.5.0
+ 2.5.1
diff --git a/google-cloud-firestore/pom.xml b/google-cloud-firestore/pom.xml
index 29cc84513..bfb17b1fd 100644
--- a/google-cloud-firestore/pom.xml
+++ b/google-cloud-firestore/pom.xml
@@ -4,7 +4,7 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
google-cloud-firestore
- 2.5.0
+ 2.5.1
jar
Google Cloud Firestore
https://github.com/googleapis/java-firestore
@@ -14,7 +14,7 @@
com.google.cloud
google-cloud-firestore-parent
- 2.5.0
+ 2.5.1
google-cloud-firestore
@@ -142,7 +142,7 @@
com.google.cloud
google-cloud-conformance-tests
- 0.0.13
+ 0.1.1
test
diff --git a/google-cloud-firestore/src/main/java/com/google/cloud/firestore/CollectionGroup.java b/google-cloud-firestore/src/main/java/com/google/cloud/firestore/CollectionGroup.java
index bcfc3b920..0a4c35e73 100644
--- a/google-cloud-firestore/src/main/java/com/google/cloud/firestore/CollectionGroup.java
+++ b/google-cloud-firestore/src/main/java/com/google/cloud/firestore/CollectionGroup.java
@@ -33,7 +33,9 @@
import io.opencensus.common.Scope;
import io.opencensus.trace.Span;
import io.opencensus.trace.Status;
+import java.util.ArrayList;
import java.util.Collections;
+import java.util.Comparator;
import java.util.List;
import javax.annotation.Nullable;
@@ -63,6 +65,8 @@ public class CollectionGroup extends Query {
* parallel. The returned partition cursors are split points that can be used as starting/end
* points for the query results.
*
+ * @deprecated Please use {@link #getPartitions(long)} instead. All cursors will be loaded before
+ * any value will be provided to {@code observer}.
* @param desiredPartitionCount The desired maximum number of partition points. The number must be
* strictly positive. The actual number of partitions returned may be fewer.
* @param observer a stream observer that receives the result of the Partition request.
@@ -159,8 +163,23 @@ private PartitionQueryRequest buildRequest(long desiredPartitionCount) {
private void consumePartitions(
PartitionQueryPagedResponse response, Function consumer) {
- @Nullable Object[] lastCursor = null;
+ List cursors = new ArrayList<>();
for (Cursor cursor : response.iterateAll()) {
+ cursors.add(cursor);
+ }
+
+ // Sort the partitions as they may not be ordered if responses are paged.
+ Collections.sort(
+ cursors,
+ new Comparator() {
+ @Override
+ public int compare(Cursor left, Cursor right) {
+ return Order.INSTANCE.compareArrays(left.getValuesList(), right.getValuesList());
+ }
+ });
+
+ @Nullable Object[] lastCursor = null;
+ for (Cursor cursor : cursors) {
Object[] decodedCursorValue = new Object[cursor.getValuesCount()];
for (int i = 0; i < cursor.getValuesCount(); ++i) {
decodedCursorValue[i] = UserDataConverter.decodeValue(rpcContext, cursor.getValues(i));
diff --git a/google-cloud-firestore/src/main/java/com/google/cloud/firestore/Order.java b/google-cloud-firestore/src/main/java/com/google/cloud/firestore/Order.java
index 46d1ffa7c..67348a728 100644
--- a/google-cloud-firestore/src/main/java/com/google/cloud/firestore/Order.java
+++ b/google-cloud-firestore/src/main/java/com/google/cloud/firestore/Order.java
@@ -109,7 +109,8 @@ public int compare(@Nonnull Value left, @Nonnull Value right) {
case GEO_POINT:
return compareGeoPoints(left, right);
case ARRAY:
- return compareArrays(left, right);
+ return compareArrays(
+ left.getArrayValue().getValuesList(), right.getArrayValue().getValuesList());
case OBJECT:
return compareObjects(left, right);
default:
@@ -171,27 +172,22 @@ private int compareResourcePaths(Value left, Value right) {
return leftPath.compareTo(rightPath);
}
- private int compareArrays(Value left, Value right) {
- List leftValue = left.getArrayValue().getValuesList();
- List rightValue = right.getArrayValue().getValuesList();
-
- int minLength = Math.min(leftValue.size(), rightValue.size());
+ public int compareArrays(List left, List right) {
+ int minLength = Math.min(left.size(), right.size());
for (int i = 0; i < minLength; i++) {
- int cmp = compare(leftValue.get(i), rightValue.get(i));
+ int cmp = compare(left.get(i), right.get(i));
if (cmp != 0) {
return cmp;
}
}
- return Integer.compare(leftValue.size(), rightValue.size());
+ return Integer.compare(left.size(), right.size());
}
private int compareObjects(Value left, Value right) {
// This requires iterating over the keys in the object in order and doing a
// deep comparison.
- SortedMap leftMap = new TreeMap<>();
- leftMap.putAll(left.getMapValue().getFieldsMap());
- SortedMap rightMap = new TreeMap<>();
- rightMap.putAll(right.getMapValue().getFieldsMap());
+ SortedMap leftMap = new TreeMap<>(left.getMapValue().getFieldsMap());
+ SortedMap rightMap = new TreeMap<>(right.getMapValue().getFieldsMap());
Iterator> leftIterator = leftMap.entrySet().iterator();
Iterator> rightIterator = rightMap.entrySet().iterator();
diff --git a/google-cloud-firestore/src/test/java/com/google/cloud/firestore/PartitionQuery.java b/google-cloud-firestore/src/test/java/com/google/cloud/firestore/PartitionQuery.java
new file mode 100644
index 000000000..26d7c4cde
--- /dev/null
+++ b/google-cloud-firestore/src/test/java/com/google/cloud/firestore/PartitionQuery.java
@@ -0,0 +1,204 @@
+/*
+ * Copyright 2021 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.google.cloud.firestore;
+
+import static com.google.cloud.firestore.LocalFirestoreHelper.queryResponse;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.fail;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.when;
+
+import com.google.api.core.ApiFutures;
+import com.google.api.gax.rpc.ApiStreamObserver;
+import com.google.api.gax.rpc.ServerStreamingCallable;
+import com.google.api.gax.rpc.UnaryCallable;
+import com.google.cloud.firestore.spi.v1.FirestoreRpc;
+import com.google.cloud.firestore.v1.FirestoreClient.PartitionQueryPage;
+import com.google.cloud.firestore.v1.FirestoreClient.PartitionQueryPagedResponse;
+import com.google.common.collect.ImmutableList;
+import com.google.firestore.v1.Cursor;
+import com.google.firestore.v1.PartitionQueryRequest;
+import com.google.firestore.v1.PartitionQueryResponse;
+import com.google.firestore.v1.RunQueryRequest;
+import com.google.firestore.v1.StructuredQuery;
+import com.google.firestore.v1.Value;
+import java.util.List;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Captor;
+import org.mockito.Matchers;
+import org.mockito.Mock;
+import org.mockito.Mockito;
+import org.mockito.Spy;
+import org.mockito.runners.MockitoJUnitRunner;
+
+@RunWith(MockitoJUnitRunner.class)
+public class PartitionQuery {
+ public static final String DATABASE_NAME = "projects/test-project/databases/(default)/documents";
+ public static final Cursor CURSOR1 =
+ Cursor.newBuilder()
+ .addValues(Value.newBuilder().setReferenceValue(DATABASE_NAME + "/collection/doc1"))
+ .build();
+ public static final Cursor PARTITION1 = CURSOR1.toBuilder().setBefore(true).build();
+ public static final Cursor CURSOR2 =
+ Cursor.newBuilder()
+ .addValues(Value.newBuilder().setReferenceValue(DATABASE_NAME + "/collection/doc2"))
+ .build();
+ public static final Cursor PARTITION2 = CURSOR2.toBuilder().setBefore(true).build();
+
+ @Spy
+ private final FirestoreImpl firestoreMock =
+ new FirestoreImpl(
+ FirestoreOptions.newBuilder().setProjectId("test-project").build(),
+ Mockito.mock(FirestoreRpc.class));
+
+ @Mock private UnaryCallable callable;
+ @Mock private PartitionQueryPagedResponse pagedResponse;
+ @Mock private PartitionQueryPage queryPage;
+
+ @Captor private ArgumentCaptor runQuery;
+ @Captor private ArgumentCaptor streamObserverCapture;
+ @Captor private ArgumentCaptor requestCaptor;
+
+ @Test
+ public void requestsOneLessThanDesired() throws Exception {
+ int desiredPartitionsCount = 2;
+
+ PartitionQueryRequest expectedRequest =
+ PartitionQueryRequest.newBuilder()
+ .setParent(DATABASE_NAME)
+ .setStructuredQuery(
+ StructuredQuery.newBuilder()
+ .addFrom(
+ StructuredQuery.CollectionSelector.newBuilder()
+ .setAllDescendants(true)
+ .setCollectionId("collectionId"))
+ .addOrderBy(
+ StructuredQuery.Order.newBuilder()
+ .setField(
+ StructuredQuery.FieldReference.newBuilder()
+ .setFieldPath("__name__"))
+ .setDirection(StructuredQuery.Direction.ASCENDING)))
+ .setPartitionCount(desiredPartitionsCount - 1)
+ .build();
+
+ PartitionQueryResponse response =
+ PartitionQueryResponse.newBuilder().addPartitions(CURSOR1).build();
+
+ when(pagedResponse.iterateAll()).thenReturn(ImmutableList.of(CURSOR1));
+ when(queryPage.getResponse()).thenReturn(response);
+ doReturn(ApiFutures.immediateFuture(pagedResponse))
+ .when(firestoreMock)
+ .sendRequest(
+ requestCaptor.capture(),
+ Matchers.>any());
+
+ firestoreMock.collectionGroup("collectionId").getPartitions(desiredPartitionsCount).get();
+
+ PartitionQueryRequest actualRequest = requestCaptor.getValue();
+ assertEquals(actualRequest, expectedRequest);
+ }
+
+ @Test
+ public void doesNotIssueRpcIfOnlyASinglePartitionIsRequested() throws Exception {
+ int desiredPartitionsCount = 1;
+
+ List partitions =
+ firestoreMock.collectionGroup("collectionId").getPartitions(desiredPartitionsCount).get();
+
+ assertEquals(partitions.size(), 1);
+ assertNull(partitions.get(0).getStartAt());
+ assertNull(partitions.get(0).getEndBefore());
+ }
+
+ @Test
+ public void validatesPartitionCount() {
+ int desiredPartitionsCount = 0;
+ try {
+ firestoreMock.collectionGroup("collectionId").getPartitions(desiredPartitionsCount);
+ fail();
+ } catch (IllegalArgumentException e) {
+ assertEquals(e.getMessage(), "Desired partition count must be one or greater");
+ }
+ }
+
+ @Test
+ public void convertsPartitionsToQueries() throws Exception {
+ int desiredPartitionsCount = 3;
+
+ PartitionQueryResponse response =
+ PartitionQueryResponse.newBuilder().addPartitions(CURSOR1).build();
+
+ when(pagedResponse.iterateAll()).thenReturn(ImmutableList.of(CURSOR1, CURSOR2));
+ when(queryPage.getResponse()).thenReturn(response);
+ doReturn(ApiFutures.immediateFuture(pagedResponse))
+ .when(firestoreMock)
+ .sendRequest(
+ requestCaptor.capture(),
+ Matchers.>any());
+
+ doAnswer(queryResponse())
+ .when(firestoreMock)
+ .streamRequest(
+ runQuery.capture(),
+ streamObserverCapture.capture(),
+ Matchers.any());
+
+ List partitions =
+ firestoreMock.collectionGroup("collectionId").getPartitions(desiredPartitionsCount).get();
+
+ assertEquals(partitions.size(), 3);
+ for (QueryPartition partition : partitions) {
+ partition.createQuery().get();
+ }
+
+ assertEquals(runQuery.getAllValues().size(), 3);
+
+ assertFalse(runQuery.getAllValues().get(0).getStructuredQuery().hasStartAt());
+ assertEquals(runQuery.getAllValues().get(0).getStructuredQuery().getEndAt(), PARTITION1);
+ assertEquals(runQuery.getAllValues().get(1).getStructuredQuery().getStartAt(), PARTITION1);
+ assertEquals(runQuery.getAllValues().get(1).getStructuredQuery().getEndAt(), PARTITION2);
+ assertEquals(runQuery.getAllValues().get(2).getStructuredQuery().getStartAt(), PARTITION2);
+ assertFalse(runQuery.getAllValues().get(2).getStructuredQuery().hasEndAt());
+ }
+
+ @Test
+ public void sortsPartitions() throws Exception {
+ int desiredPartitionsCount = 3;
+
+ PartitionQueryResponse response =
+ PartitionQueryResponse.newBuilder().addPartitions(CURSOR1).build();
+
+ when(pagedResponse.iterateAll()).thenReturn(ImmutableList.of(CURSOR2, CURSOR1));
+ when(queryPage.getResponse()).thenReturn(response);
+ doReturn(ApiFutures.immediateFuture(pagedResponse))
+ .when(firestoreMock)
+ .sendRequest(
+ requestCaptor.capture(),
+ Matchers.>any());
+
+ List partitions =
+ firestoreMock.collectionGroup("collectionId").getPartitions(desiredPartitionsCount).get();
+
+ assertEquals(((DocumentReference) partitions.get(0).getEndBefore()[0]).getId(), "doc1");
+ assertEquals(((DocumentReference) partitions.get(1).getEndBefore()[0]).getId(), "doc2");
+ }
+}
diff --git a/google-cloud-firestore/src/test/java/com/google/cloud/firestore/it/ITSystemTest.java b/google-cloud-firestore/src/test/java/com/google/cloud/firestore/it/ITSystemTest.java
index da94de92a..a5572efbe 100644
--- a/google-cloud-firestore/src/test/java/com/google/cloud/firestore/it/ITSystemTest.java
+++ b/google-cloud-firestore/src/test/java/com/google/cloud/firestore/it/ITSystemTest.java
@@ -1537,7 +1537,6 @@ public Void updateCallback(Transaction transaction) throws Exception {
final StatusRuntimeException invalidArgument = (StatusRuntimeException) rootCause;
final Status status = invalidArgument.getStatus();
assertThat(status.getCode()).isEqualTo(Code.FAILED_PRECONDITION);
- assertThat(status.getDescription()).contains("minimum");
}
}
diff --git a/grpc-google-cloud-firestore-admin-v1/pom.xml b/grpc-google-cloud-firestore-admin-v1/pom.xml
index 9f717b6d0..846e7b4c8 100644
--- a/grpc-google-cloud-firestore-admin-v1/pom.xml
+++ b/grpc-google-cloud-firestore-admin-v1/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
grpc-google-cloud-firestore-admin-v1
- 2.5.0
+ 2.5.1
grpc-google-cloud-firestore-admin-v1
GRPC library for grpc-google-cloud-firestore-admin-v1
com.google.cloud
google-cloud-firestore-parent
- 2.5.0
+ 2.5.1
diff --git a/grpc-google-cloud-firestore-v1/pom.xml b/grpc-google-cloud-firestore-v1/pom.xml
index 00d372f9b..0a269fc6a 100644
--- a/grpc-google-cloud-firestore-v1/pom.xml
+++ b/grpc-google-cloud-firestore-v1/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
grpc-google-cloud-firestore-v1
- 2.5.0
+ 2.5.1
grpc-google-cloud-firestore-v1
GRPC library for grpc-google-cloud-firestore-v1
com.google.cloud
google-cloud-firestore-parent
- 2.5.0
+ 2.5.1
diff --git a/pom.xml b/pom.xml
index 6e3b12389..2dc41352c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
com.google.cloud
google-cloud-firestore-parent
pom
- 2.5.0
+ 2.5.1
Google Cloud Firestore Parent
https://github.com/googleapis/java-firestore
@@ -159,33 +159,33 @@
com.google.api.grpc
proto-google-cloud-firestore-admin-v1
- 2.5.0
+ 2.5.1
com.google.cloud
proto-google-cloud-firestore-bundle-v1
- 2.5.0
+ 2.5.1
com.google.api.grpc
proto-google-cloud-firestore-v1
- 2.5.0
+ 2.5.1
com.google.api.grpc
grpc-google-cloud-firestore-admin-v1
- 2.5.0
+ 2.5.1
com.google.api.grpc
grpc-google-cloud-firestore-v1
- 2.5.0
+ 2.5.1
com.google.cloud
google-cloud-shared-dependencies
- 1.2.0
+ 1.3.0
pom
import
diff --git a/proto-google-cloud-firestore-admin-v1/pom.xml b/proto-google-cloud-firestore-admin-v1/pom.xml
index 8964e8617..7f2a3dfcf 100644
--- a/proto-google-cloud-firestore-admin-v1/pom.xml
+++ b/proto-google-cloud-firestore-admin-v1/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
proto-google-cloud-firestore-admin-v1
- 2.5.0
+ 2.5.1
proto-google-cloud-firestore-admin-v1
PROTO library for proto-google-cloud-firestore-admin-v1
com.google.cloud
google-cloud-firestore-parent
- 2.5.0
+ 2.5.1
diff --git a/proto-google-cloud-firestore-bundle-v1/pom.xml b/proto-google-cloud-firestore-bundle-v1/pom.xml
index 32a577c61..f289d108f 100644
--- a/proto-google-cloud-firestore-bundle-v1/pom.xml
+++ b/proto-google-cloud-firestore-bundle-v1/pom.xml
@@ -5,14 +5,14 @@
4.0.0
proto-google-cloud-firestore-bundle-v1
- 2.5.0
+ 2.5.1
proto-google-cloud-firestore-bundle-v1
PROTO library for proto-google-cloud-firestore-bundle-v1
com.google.cloud
google-cloud-firestore-parent
- 2.5.0
+ 2.5.1
diff --git a/proto-google-cloud-firestore-v1/pom.xml b/proto-google-cloud-firestore-v1/pom.xml
index d97e59c12..c8b9c7d04 100644
--- a/proto-google-cloud-firestore-v1/pom.xml
+++ b/proto-google-cloud-firestore-v1/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
proto-google-cloud-firestore-v1
- 2.5.0
+ 2.5.1
proto-google-cloud-firestore-v1
PROTO library for proto-google-cloud-firestore-v1
com.google.cloud
google-cloud-firestore-parent
- 2.5.0
+ 2.5.1
diff --git a/samples/install-without-bom/pom.xml b/samples/install-without-bom/pom.xml
index eee746bf8..0fa023e07 100644
--- a/samples/install-without-bom/pom.xml
+++ b/samples/install-without-bom/pom.xml
@@ -14,7 +14,7 @@
com.google.cloud.samples
shared-configuration
- 1.0.22
+ 1.0.23
diff --git a/samples/pom.xml b/samples/pom.xml
index de74333f8..2bb23bc26 100644
--- a/samples/pom.xml
+++ b/samples/pom.xml
@@ -18,7 +18,7 @@
com.google.cloud.samples
shared-configuration
- 1.0.22
+ 1.0.23
diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml
index b3c377920..dd3bf321c 100644
--- a/samples/snapshot/pom.xml
+++ b/samples/snapshot/pom.xml
@@ -14,7 +14,7 @@
com.google.cloud.samples
shared-configuration
- 1.0.22
+ 1.0.23
diff --git a/samples/snippets/pom.xml b/samples/snippets/pom.xml
index 5c57be792..93233ffe7 100644
--- a/samples/snippets/pom.xml
+++ b/samples/snippets/pom.xml
@@ -14,7 +14,7 @@
com.google.cloud.samples
shared-configuration
- 1.0.22
+ 1.0.23
@@ -33,7 +33,7 @@
com.google.cloud
libraries-bom
- 20.5.0
+ 20.6.0
pom
import
diff --git a/synth.metadata b/synth.metadata
index 2d5b8008e..a5ef91995 100644
--- a/synth.metadata
+++ b/synth.metadata
@@ -4,15 +4,15 @@
"git": {
"name": ".",
"remote": "https://github.com/googleapis/java-firestore.git",
- "sha": "2be1f7b614ecc2d2be91a4d1b14d74debb8e686d"
+ "sha": "41a00782d1ca14e8ce80c3083b1ef01057dbac5b"
}
},
{
"git": {
"name": "googleapis",
"remote": "https://github.com/googleapis/googleapis.git",
- "sha": "299383230f69e9f2272adda8e0d93c4fdf231deb",
- "internalRef": "367054341"
+ "sha": "a5f96d06ef57e325761bad010f460d0c5dbeccda",
+ "internalRef": "377081269"
}
},
{
diff --git a/versions.txt b/versions.txt
index 9e9b6cdb7..e7e076bb2 100644
--- a/versions.txt
+++ b/versions.txt
@@ -1,11 +1,11 @@
# Format:
# module:released-version:current-version
-google-cloud-firestore:2.5.0:2.5.0
-google-cloud-firestore-admin:2.5.0:2.5.0
-google-cloud-firestore-bom:2.5.0:2.5.0
-google-cloud-firestore-parent:2.5.0:2.5.0
-grpc-google-cloud-firestore-admin-v1:2.5.0:2.5.0
-grpc-google-cloud-firestore-v1:2.5.0:2.5.0
-proto-google-cloud-firestore-admin-v1:2.5.0:2.5.0
-proto-google-cloud-firestore-v1:2.5.0:2.5.0
+google-cloud-firestore:2.5.1:2.5.1
+google-cloud-firestore-admin:2.5.1:2.5.1
+google-cloud-firestore-bom:2.5.1:2.5.1
+google-cloud-firestore-parent:2.5.1:2.5.1
+grpc-google-cloud-firestore-admin-v1:2.5.1:2.5.1
+grpc-google-cloud-firestore-v1:2.5.1:2.5.1
+proto-google-cloud-firestore-admin-v1:2.5.1:2.5.1
+proto-google-cloud-firestore-v1:2.5.1:2.5.1