diff --git a/CHANGELOG.md b/CHANGELOG.md index bf8f7438f0..03bd1e243a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,17 @@ # Changelog +## [2.19.2](https://github.com/googleapis/java-bigtable/compare/v2.19.1...v2.19.2) (2023-02-21) + + +### Bug Fixes + +* Change types for Cloud Bigtable Changestream methods ([#1639](https://github.com/googleapis/java-bigtable/issues/1639)) ([908d70f](https://github.com/googleapis/java-bigtable/commit/908d70fdfa22e563031e2d8780b574ee7350cadc)) + + +### Dependencies + +* Update shared deps to 3.3.0 and monitoring to 3.12.0 ([#1643](https://github.com/googleapis/java-bigtable/issues/1643)) ([1a54fbf](https://github.com/googleapis/java-bigtable/commit/1a54fbf22490e5a83df0b0d73dc4b30472175102)) + ## [2.19.1](https://github.com/googleapis/java-bigtable/compare/v2.19.0...v2.19.1) (2023-02-16) diff --git a/README.md b/README.md index 9d40fee296..46e0f520d2 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ If you are using Maven without BOM, add this to your dependencies: com.google.cloud google-cloud-bigtable - 2.19.0 + 2.19.1 ``` @@ -56,13 +56,13 @@ implementation 'com.google.cloud:google-cloud-bigtable' If you are using Gradle without BOM, add this to your dependencies: ```Groovy -implementation 'com.google.cloud:google-cloud-bigtable:2.19.0' +implementation 'com.google.cloud:google-cloud-bigtable:2.19.1' ``` If you are using SBT, add this to your dependencies: ```Scala -libraryDependencies += "com.google.cloud" % "google-cloud-bigtable" % "2.19.0" +libraryDependencies += "com.google.cloud" % "google-cloud-bigtable" % "2.19.1" ``` ## Authentication diff --git a/google-cloud-bigtable-bom/pom.xml b/google-cloud-bigtable-bom/pom.xml index 4430a17979..41114f8a55 100644 --- a/google-cloud-bigtable-bom/pom.xml +++ b/google-cloud-bigtable-bom/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-bigtable-bom - 2.19.1 + 2.19.2 pom com.google.cloud @@ -63,42 +63,42 @@ com.google.cloud google-cloud-bigtable - 2.19.1 + 2.19.2 com.google.cloud google-cloud-bigtable-emulator - 0.156.1 + 0.156.2 com.google.cloud google-cloud-bigtable-emulator-core - 0.156.1 + 0.156.2 com.google.api.grpc grpc-google-cloud-bigtable-admin-v2 - 2.19.1 + 2.19.2 com.google.api.grpc grpc-google-cloud-bigtable-v2 - 2.19.1 + 2.19.2 com.google.api.grpc proto-google-cloud-bigtable-admin-v2 - 2.19.1 + 2.19.2 com.google.api.grpc proto-google-cloud-bigtable-v2 - 2.19.1 + 2.19.2 com.google.cloud google-cloud-bigtable-stats - 2.19.1 + 2.19.2 diff --git a/google-cloud-bigtable-deps-bom/pom.xml b/google-cloud-bigtable-deps-bom/pom.xml index e2228f0122..92fe1598ab 100644 --- a/google-cloud-bigtable-deps-bom/pom.xml +++ b/google-cloud-bigtable-deps-bom/pom.xml @@ -13,7 +13,7 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.19.1 + 2.19.2 pom @@ -66,14 +66,14 @@ com.google.cloud google-cloud-shared-dependencies - 3.2.0 + 3.3.0 pom import com.google.cloud google-cloud-monitoring-bom - 3.11.0 + 3.12.0 diff --git a/google-cloud-bigtable-emulator-core/pom.xml b/google-cloud-bigtable-emulator-core/pom.xml index cae1c193c3..6cc932b0c2 100644 --- a/google-cloud-bigtable-emulator-core/pom.xml +++ b/google-cloud-bigtable-emulator-core/pom.xml @@ -7,11 +7,11 @@ google-cloud-bigtable-parent com.google.cloud - 2.19.1 + 2.19.2 google-cloud-bigtable-emulator-core - 0.156.1 + 0.156.2 A Java wrapper for the Cloud Bigtable emulator. diff --git a/google-cloud-bigtable-emulator/pom.xml b/google-cloud-bigtable-emulator/pom.xml index 16c27613b7..11d99b7825 100644 --- a/google-cloud-bigtable-emulator/pom.xml +++ b/google-cloud-bigtable-emulator/pom.xml @@ -5,7 +5,7 @@ 4.0.0 google-cloud-bigtable-emulator - 0.156.1 + 0.156.2 Google Cloud Java - Bigtable Emulator https://github.com/googleapis/java-bigtable @@ -14,7 +14,7 @@ com.google.cloud google-cloud-bigtable-parent - 2.19.1 + 2.19.2 scm:git:git@github.com:googleapis/java-bigtable.git @@ -81,14 +81,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.19.1 + 2.19.2 pom import com.google.cloud google-cloud-bigtable-bom - 2.19.1 + 2.19.2 pom import @@ -99,7 +99,7 @@ com.google.cloud google-cloud-bigtable-emulator-core - 0.156.1 + 0.156.2 diff --git a/google-cloud-bigtable-stats/pom.xml b/google-cloud-bigtable-stats/pom.xml index 1adeddbe74..acc8aa90de 100644 --- a/google-cloud-bigtable-stats/pom.xml +++ b/google-cloud-bigtable-stats/pom.xml @@ -5,7 +5,7 @@ com.google.cloud google-cloud-bigtable-parent - 2.19.1 + 2.19.2 4.0.0 @@ -13,7 +13,7 @@ through Stackdriver. Built-in metrics will be implemented with shaded OpenCensus so it won't interfere with customer's application metrics. --> google-cloud-bigtable-stats - 2.19.1 + 2.19.2 Experimental project to shade OpenCensus dependencies. @@ -21,7 +21,7 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.19.1 + 2.19.2 pom import diff --git a/google-cloud-bigtable/clirr-ignored-differences.xml b/google-cloud-bigtable/clirr-ignored-differences.xml index 807562164d..a0ffe39bd1 100644 --- a/google-cloud-bigtable/clirr-ignored-differences.xml +++ b/google-cloud-bigtable/clirr-ignored-differences.xml @@ -91,6 +91,41 @@ 7006 com/google/cloud/bigtable/data/v2/models/Heartbeat *getEstimatedLowWatermark* - long + org.threeten.bp.Instant + + + + 7006 + com/google/cloud/bigtable/data/v2/models/CloseStream + *getStatus* + com.google.cloud.bigtable.common.Status + + + + 7006 + com/google/cloud/bigtable/data/v2/models/ChangeStreamMutation + *getCommitTimestamp* + org.threeten.bp.Instant + + + + 7006 + com/google/cloud/bigtable/data/v2/models/ChangeStreamMutation + *getEstimatedLowWatermark* + org.threeten.bp.Instant + + + + 7005 + com/google/cloud/bigtable/data/v2/models/ChangeStreamRecordAdapter$ChangeStreamRecordBuilder + * + * + + + + 7005 + com/google/cloud/bigtable/data/v2/models/ReadChangeStreamQuery + * + * diff --git a/google-cloud-bigtable/pom.xml b/google-cloud-bigtable/pom.xml index 4c68901cde..b68fd35d8b 100644 --- a/google-cloud-bigtable/pom.xml +++ b/google-cloud-bigtable/pom.xml @@ -2,7 +2,7 @@ 4.0.0 google-cloud-bigtable - 2.19.1 + 2.19.2 jar Google Cloud Bigtable https://github.com/googleapis/java-bigtable @@ -12,11 +12,11 @@ com.google.cloud google-cloud-bigtable-parent - 2.19.1 + 2.19.2 - 2.19.1 + 2.19.2 google-cloud-bigtable @@ -39,7 +39,7 @@ - 1.52.1 + 1.53.0 3.21.12 ${protobuf.version} @@ -49,14 +49,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.19.1 + 2.19.2 pom import com.google.cloud google-cloud-bigtable-bom - 2.19.1 + 2.19.2 pom import diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/Version.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/Version.java index 6bba41a172..f9725f30e0 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/Version.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/Version.java @@ -20,6 +20,6 @@ @InternalApi("For internal use only") public final class Version { // {x-version-update-start:google-cloud-bigtable:current} - public static String VERSION = "2.19.1"; + public static String VERSION = "2.19.2"; // {x-version-update-end} } diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/common/Status.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/common/Status.java index 83f7c188d4..d0ca6fd127 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/common/Status.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/common/Status.java @@ -16,6 +16,7 @@ package com.google.cloud.bigtable.common; import com.google.common.base.Objects; +import java.io.Serializable; /** * The `Status` type defines a logical error model. Each `Status` message contains an error code and @@ -23,7 +24,9 @@ * *

This primarily wraps the protobuf {@link com.google.rpc.Status}. */ -public final class Status { +public final class Status implements Serializable { + private static final long serialVersionUID = -5512896228725308380L; + public enum Code { OK(com.google.rpc.Code.OK), CANCELLED(com.google.rpc.Code.CANCELLED), diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/ChangeStreamMutation.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/ChangeStreamMutation.java index 42ef300b9d..9d607f4362 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/ChangeStreamMutation.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/ChangeStreamMutation.java @@ -23,6 +23,7 @@ import com.google.protobuf.ByteString; import java.io.Serializable; import javax.annotation.Nonnull; +import org.threeten.bp.Instant; /** * A ChangeStreamMutation represents a list of mods(represented by List<{@link Entry}>) targeted at @@ -72,7 +73,7 @@ public enum MutationType { static Builder createUserMutation( @Nonnull ByteString rowKey, @Nonnull String sourceClusterId, - long commitTimestamp, + Instant commitTimestamp, int tieBreaker) { return builder() .setRowKey(rowKey) @@ -88,7 +89,7 @@ static Builder createUserMutation( * mutation. */ static Builder createGcMutation( - @Nonnull ByteString rowKey, long commitTimestamp, int tieBreaker) { + @Nonnull ByteString rowKey, Instant commitTimestamp, int tieBreaker) { return builder() .setRowKey(rowKey) .setType(MutationType.GARBAGE_COLLECTION) @@ -110,7 +111,7 @@ static Builder createGcMutation( public abstract String getSourceClusterId(); /** Get the commit timestamp of the current mutation. */ - public abstract long getCommitTimestamp(); + public abstract Instant getCommitTimestamp(); /** * Get the tie breaker of the current mutation. This is used to resolve conflicts when multiple @@ -123,7 +124,7 @@ static Builder createGcMutation( public abstract String getToken(); /** Get the low watermark of the current mutation. */ - public abstract long getEstimatedLowWatermark(); + public abstract Instant getEstimatedLowWatermark(); /** Get the list of mods of the current mutation. */ @Nonnull @@ -144,7 +145,7 @@ abstract static class Builder { abstract Builder setSourceClusterId(@Nonnull String sourceClusterId); - abstract Builder setCommitTimestamp(long commitTimestamp); + abstract Builder setCommitTimestamp(Instant commitTimestamp); abstract Builder setTieBreaker(int tieBreaker); @@ -152,7 +153,7 @@ abstract static class Builder { abstract Builder setToken(@Nonnull String token); - abstract Builder setEstimatedLowWatermark(long estimatedLowWatermark); + abstract Builder setEstimatedLowWatermark(Instant estimatedLowWatermark); Builder setCell( @Nonnull String familyName, diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/ChangeStreamRecordAdapter.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/ChangeStreamRecordAdapter.java index f94a3b4c3c..260d48ae0d 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/ChangeStreamRecordAdapter.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/ChangeStreamRecordAdapter.java @@ -20,6 +20,7 @@ import com.google.cloud.bigtable.data.v2.models.Range.TimestampRange; import com.google.protobuf.ByteString; import javax.annotation.Nonnull; +import org.threeten.bp.Instant; /** * An extension point that allows end users to plug in a custom implementation of logical change @@ -115,7 +116,7 @@ interface ChangeStreamRecordBuilder { void startUserMutation( @Nonnull ByteString rowKey, @Nonnull String sourceClusterId, - long commitTimestamp, + Instant commitTimestamp, int tieBreaker); /** @@ -123,7 +124,7 @@ void startUserMutation( * once. If called, the current change stream record must not include any close stream message * or heartbeat. */ - void startGcMutation(@Nonnull ByteString rowKey, long commitTimestamp, int tieBreaker); + void startGcMutation(@Nonnull ByteString rowKey, Instant commitTimestamp, int tieBreaker); /** Called to add a DeleteFamily mod. */ void deleteFamily(@Nonnull String familyName); @@ -164,7 +165,7 @@ void deleteCells( /** Called once per stream record to signal that all mods have been processed (unless reset). */ ChangeStreamRecordT finishChangeStreamMutation( - @Nonnull String token, long estimatedLowWatermark); + @Nonnull String token, Instant estimatedLowWatermark); /** Called when the current in progress change stream record should be dropped */ void reset(); diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/CloseStream.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/CloseStream.java index 4760e511e9..d5e121e664 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/CloseStream.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/CloseStream.java @@ -18,8 +18,8 @@ import com.google.api.core.InternalApi; import com.google.auto.value.AutoValue; import com.google.bigtable.v2.ReadChangeStreamResponse; +import com.google.cloud.bigtable.common.Status; import com.google.common.collect.ImmutableList; -import com.google.rpc.Status; import java.io.Serializable; import java.util.List; import javax.annotation.Nonnull; @@ -34,8 +34,9 @@ public abstract class CloseStream implements ChangeStreamRecord, Serializable { private static final long serialVersionUID = 7316215828353608505L; private static CloseStream create( - Status status, List changeStreamContinuationTokens) { - return new AutoValue_CloseStream(status, changeStreamContinuationTokens); + com.google.rpc.Status status, + List changeStreamContinuationTokens) { + return new AutoValue_CloseStream(Status.fromProto(status), changeStreamContinuationTokens); } /** Wraps the protobuf {@link ReadChangeStreamResponse.CloseStream}. */ diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/DefaultChangeStreamRecordAdapter.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/DefaultChangeStreamRecordAdapter.java index 79dec5b17f..404b26b52a 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/DefaultChangeStreamRecordAdapter.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/DefaultChangeStreamRecordAdapter.java @@ -22,6 +22,7 @@ import com.google.protobuf.ByteString; import javax.annotation.Nonnull; import javax.annotation.Nullable; +import org.threeten.bp.Instant; /** * Default implementation of a {@link ChangeStreamRecordAdapter} that uses {@link @@ -102,7 +103,7 @@ public ChangeStreamRecord onCloseStream(ReadChangeStreamResponse.CloseStream clo public void startUserMutation( @Nonnull ByteString rowKey, @Nonnull String sourceClusterId, - long commitTimestamp, + Instant commitTimestamp, int tieBreaker) { this.changeStreamMutationBuilder = ChangeStreamMutation.createUserMutation( @@ -111,7 +112,8 @@ public void startUserMutation( /** {@inheritDoc} */ @Override - public void startGcMutation(@Nonnull ByteString rowKey, long commitTimestamp, int tieBreaker) { + public void startGcMutation( + @Nonnull ByteString rowKey, Instant commitTimestamp, int tieBreaker) { this.changeStreamMutationBuilder = ChangeStreamMutation.createGcMutation(rowKey, commitTimestamp, tieBreaker); } @@ -156,7 +158,7 @@ public void finishCell() { /** {@inheritDoc} */ @Override public ChangeStreamRecord finishChangeStreamMutation( - @Nonnull String token, long estimatedLowWatermark) { + @Nonnull String token, Instant estimatedLowWatermark) { this.changeStreamMutationBuilder.setToken(token); this.changeStreamMutationBuilder.setEstimatedLowWatermark(estimatedLowWatermark); return this.changeStreamMutationBuilder.build(); diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/Heartbeat.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/Heartbeat.java index cfd45c1ae9..8e3d865790 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/Heartbeat.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/Heartbeat.java @@ -18,9 +18,9 @@ import com.google.api.core.InternalApi; import com.google.auto.value.AutoValue; import com.google.bigtable.v2.ReadChangeStreamResponse; -import com.google.protobuf.util.Timestamps; import java.io.Serializable; import javax.annotation.Nonnull; +import org.threeten.bp.Instant; /** A simple wrapper for {@link ReadChangeStreamResponse.Heartbeat}. */ @InternalApi("Intended for use by the BigtableIO in apache/beam only.") @@ -29,7 +29,7 @@ public abstract class Heartbeat implements ChangeStreamRecord, Serializable { private static final long serialVersionUID = 7316215828353608504L; private static Heartbeat create( - ChangeStreamContinuationToken changeStreamContinuationToken, long estimatedLowWatermark) { + ChangeStreamContinuationToken changeStreamContinuationToken, Instant estimatedLowWatermark) { return new AutoValue_Heartbeat(changeStreamContinuationToken, estimatedLowWatermark); } @@ -37,12 +37,14 @@ private static Heartbeat create( static Heartbeat fromProto(@Nonnull ReadChangeStreamResponse.Heartbeat heartbeat) { return create( ChangeStreamContinuationToken.fromProto(heartbeat.getContinuationToken()), - Timestamps.toNanos(heartbeat.getEstimatedLowWatermark())); + Instant.ofEpochSecond( + heartbeat.getEstimatedLowWatermark().getSeconds(), + heartbeat.getEstimatedLowWatermark().getNanos())); } @InternalApi("Intended for use by the BigtableIO in apache/beam only.") public abstract ChangeStreamContinuationToken getChangeStreamContinuationToken(); @InternalApi("Intended for use by the BigtableIO in apache/beam only.") - public abstract long getEstimatedLowWatermark(); + public abstract Instant getEstimatedLowWatermark(); } diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/ReadChangeStreamQuery.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/ReadChangeStreamQuery.java index e6bfd8c431..dc9d1fce59 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/ReadChangeStreamQuery.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/ReadChangeStreamQuery.java @@ -28,7 +28,7 @@ import com.google.common.base.Preconditions; import com.google.protobuf.ByteString; import com.google.protobuf.Duration; -import com.google.protobuf.util.Timestamps; +import com.google.protobuf.Timestamp; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; @@ -36,6 +36,7 @@ import java.util.List; import javax.annotation.Nonnull; import javax.annotation.Nullable; +import org.threeten.bp.Instant; /** A simple wrapper to construct a query for the ReadChangeStream RPC. */ @InternalApi("Intended for use by the BigtableIO in apache/beam only.") @@ -142,18 +143,26 @@ public ReadChangeStreamQuery streamPartition(ByteStringRange range) { return streamPartition(rangeBuilder.build()); } - /** Sets the startTime(Nanosecond) to read the change stream. */ - public ReadChangeStreamQuery startTime(long value) { + /** Sets the startTime to read the change stream. */ + public ReadChangeStreamQuery startTime(Instant value) { Preconditions.checkState( !builder.hasContinuationTokens(), "startTime and continuationTokens can't be specified together"); - builder.setStartTime(Timestamps.fromNanos(value)); + builder.setStartTime( + Timestamp.newBuilder() + .setSeconds(value.getEpochSecond()) + .setNanos(value.getNano()) + .build()); return this; } - /** Sets the endTime(Nanosecond) to read the change stream. */ - public ReadChangeStreamQuery endTime(long value) { - builder.setEndTime(Timestamps.fromNanos(value)); + /** Sets the endTime to read the change stream. */ + public ReadChangeStreamQuery endTime(Instant value) { + builder.setEndTime( + Timestamp.newBuilder() + .setSeconds(value.getEpochSecond()) + .setNanos(value.getNano()) + .build()); return this; } diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/changestream/ChangeStreamStateMachine.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/changestream/ChangeStreamStateMachine.java index 5190276368..9654b4da30 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/changestream/ChangeStreamStateMachine.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/changestream/ChangeStreamStateMachine.java @@ -21,7 +21,7 @@ import com.google.cloud.bigtable.data.v2.models.ChangeStreamRecordAdapter.ChangeStreamRecordBuilder; import com.google.cloud.bigtable.data.v2.models.Range.TimestampRange; import com.google.common.base.Preconditions; -import com.google.protobuf.util.Timestamps; +import org.threeten.bp.Instant; /** * A state machine to produce change stream records from a stream of {@link @@ -338,7 +338,9 @@ State handleMod(ReadChangeStreamResponse.DataChange dataChange, int index) { "AWAITING_NEW_STREAM_RECORD: GC mutation shouldn't have source cluster id."); builder.startGcMutation( dataChange.getRowKey(), - Timestamps.toNanos(dataChange.getCommitTimestamp()), + Instant.ofEpochSecond( + dataChange.getCommitTimestamp().getSeconds(), + dataChange.getCommitTimestamp().getNanos()), dataChange.getTiebreaker()); } else if (dataChange.getType() == Type.USER) { validate( @@ -347,7 +349,9 @@ State handleMod(ReadChangeStreamResponse.DataChange dataChange, int index) { builder.startUserMutation( dataChange.getRowKey(), dataChange.getSourceClusterId(), - Timestamps.toNanos(dataChange.getCommitTimestamp()), + Instant.ofEpochSecond( + dataChange.getCommitTimestamp().getSeconds(), + dataChange.getCommitTimestamp().getNanos()), dataChange.getTiebreaker()); } else { validate(false, "AWAITING_NEW_STREAM_RECORD: Unexpected type: " + dataChange.getType()); @@ -591,7 +595,10 @@ private State checkAndFinishMutationIfNeeded( validate(dataChange.hasEstimatedLowWatermark(), "Last data change missing lowWatermark"); completeChangeStreamRecord = builder.finishChangeStreamMutation( - dataChange.getToken(), Timestamps.toNanos(dataChange.getEstimatedLowWatermark())); + dataChange.getToken(), + Instant.ofEpochSecond( + dataChange.getEstimatedLowWatermark().getSeconds(), + dataChange.getEstimatedLowWatermark().getNanos())); return AWAITING_STREAM_RECORD_CONSUME; } // Case 2_2): The current DataChange itself is chunked, so wait for the next diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/common/StatusTest.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/common/StatusTest.java index dccbd34408..3eb867d199 100644 --- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/common/StatusTest.java +++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/common/StatusTest.java @@ -19,6 +19,11 @@ import static com.google.common.truth.Truth.assertWithMessage; import com.google.rpc.Code; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @@ -89,4 +94,23 @@ public void testToProto() { assertThat(model.toString()).isEqualTo(proto.toString()); } + + @Test + public void testSerialization() throws IOException, ClassNotFoundException { + com.google.rpc.Status proto = + com.google.rpc.Status.newBuilder() + .setCode(Code.UNAVAILABLE.getNumber()) + .setMessage("some message") + .build(); + + Status model = Status.fromProto(proto); + + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + ObjectOutputStream oos = new ObjectOutputStream(bos); + oos.writeObject(model); + oos.close(); + ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(bos.toByteArray())); + Status actual = (Status) ois.readObject(); + assertThat(actual).isEqualTo(model); + } } diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/models/ChangeStreamMutationTest.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/models/ChangeStreamMutationTest.java index 04285bcc5f..420a94e38e 100644 --- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/models/ChangeStreamMutationTest.java +++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/models/ChangeStreamMutationTest.java @@ -32,6 +32,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; +import org.threeten.bp.Instant; @RunWith(JUnit4.class) public class ChangeStreamMutationTest { @@ -41,8 +42,8 @@ public class ChangeStreamMutationTest { private static final String APP_PROFILE_ID = "fake-profile"; private static final RequestContext REQUEST_CONTEXT = RequestContext.create(PROJECT_ID, INSTANCE_ID, APP_PROFILE_ID); - private static final long FAKE_COMMIT_TIMESTAMP = 1000L; - private static final long FAKE_LOW_WATERMARK = 2000L; + private static final Instant FAKE_COMMIT_TIMESTAMP = Instant.ofEpochSecond(0, 1000L); + private static final Instant FAKE_LOW_WATERMARK = Instant.ofEpochSecond(0, 2000L); @Test public void userInitiatedMutationTest() throws IOException, ClassNotFoundException { diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/models/ChangeStreamRecordTest.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/models/ChangeStreamRecordTest.java index 08dc275b1e..688ce46bcf 100644 --- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/models/ChangeStreamRecordTest.java +++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/models/ChangeStreamRecordTest.java @@ -24,7 +24,6 @@ import com.google.cloud.bigtable.data.v2.models.Range.ByteStringRange; import com.google.protobuf.ByteString; import com.google.protobuf.Timestamp; -import com.google.protobuf.util.Timestamps; import com.google.rpc.Status; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; @@ -34,6 +33,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; +import org.threeten.bp.Instant; @RunWith(JUnit4.class) public class ChangeStreamRecordTest { @@ -121,7 +121,7 @@ public void heartbeatTest() { Heartbeat actualHeartbeat = Heartbeat.fromProto(heartbeatProto); assertThat(actualHeartbeat.getEstimatedLowWatermark()) - .isEqualTo(Timestamps.toNanos(lowWatermark)); + .isEqualTo(Instant.ofEpochSecond(lowWatermark.getSeconds(), lowWatermark.getNanos())); assertThat(actualHeartbeat.getChangeStreamContinuationToken().getPartition()) .isEqualTo(ByteStringRange.create(rowRange.getStartKeyClosed(), rowRange.getEndKeyOpen())); assertThat(actualHeartbeat.getChangeStreamContinuationToken().getToken()).isEqualTo(token); @@ -158,7 +158,7 @@ public void closeStreamTest() { .build(); CloseStream actualCloseStream = CloseStream.fromProto(closeStreamProto); - assertThat(status).isEqualTo(actualCloseStream.getStatus()); + assertThat(status).isEqualTo(actualCloseStream.getStatus().toProto()); assertThat(actualCloseStream.getChangeStreamContinuationTokens().get(0).getPartition()) .isEqualTo( ByteStringRange.create(rowRange1.getStartKeyClosed(), rowRange1.getEndKeyOpen())); diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/models/DefaultChangeStreamRecordAdapterTest.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/models/DefaultChangeStreamRecordAdapterTest.java index 2af99577d6..99af76fb03 100644 --- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/models/DefaultChangeStreamRecordAdapterTest.java +++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/models/DefaultChangeStreamRecordAdapterTest.java @@ -23,7 +23,7 @@ import com.google.bigtable.v2.TimestampRange; import com.google.cloud.bigtable.data.v2.models.ChangeStreamRecordAdapter.ChangeStreamRecordBuilder; import com.google.protobuf.ByteString; -import com.google.protobuf.util.Timestamps; +import com.google.protobuf.Timestamp; import com.google.rpc.Status; import org.junit.Assert; import org.junit.Before; @@ -32,14 +32,15 @@ import org.junit.rules.ExpectedException; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; +import org.threeten.bp.Instant; @RunWith(JUnit4.class) public class DefaultChangeStreamRecordAdapterTest { private final DefaultChangeStreamRecordAdapter adapter = new DefaultChangeStreamRecordAdapter(); private ChangeStreamRecordBuilder changeStreamRecordBuilder; - private static final long FAKE_COMMIT_TIMESTAMP = 1000L; - private static final long FAKE_LOW_WATERMARK = 2000L; + private static final Instant FAKE_COMMIT_TIMESTAMP = Instant.ofEpochSecond(0L, 1000L); + private static final Instant FAKE_LOW_WATERMARK = Instant.ofEpochSecond(0L, 2000L); @Rule public ExpectedException expect = ExpectedException.none(); @@ -70,7 +71,10 @@ public void getTokenFromHeartbeatTest() { ChangeStreamRecord heartbeatRecord = Heartbeat.fromProto( ReadChangeStreamResponse.Heartbeat.newBuilder() - .setEstimatedLowWatermark(Timestamps.fromNanos(FAKE_LOW_WATERMARK)) + .setEstimatedLowWatermark( + Timestamp.newBuilder() + .setSeconds(FAKE_LOW_WATERMARK.getEpochSecond()) + .setNanos(FAKE_LOW_WATERMARK.getNano())) .setContinuationToken( StreamContinuationToken.newBuilder().setToken("heartbeat-token").build()) .build()); @@ -127,7 +131,11 @@ public void getTokenFromChangeStreamMutationInvalidTypeTest() { public void heartbeatTest() { ReadChangeStreamResponse.Heartbeat expectedHeartbeat = ReadChangeStreamResponse.Heartbeat.newBuilder() - .setEstimatedLowWatermark(Timestamps.fromNanos(FAKE_LOW_WATERMARK)) + .setEstimatedLowWatermark( + Timestamp.newBuilder() + .setSeconds(FAKE_LOW_WATERMARK.getEpochSecond()) + .setNanos(FAKE_LOW_WATERMARK.getNano()) + .build()) .setContinuationToken( StreamContinuationToken.newBuilder().setToken("random-token").build()) .build(); diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/models/ReadChangeStreamQueryTest.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/models/ReadChangeStreamQueryTest.java index cf042e736c..79a0f72b2b 100644 --- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/models/ReadChangeStreamQueryTest.java +++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/models/ReadChangeStreamQueryTest.java @@ -28,7 +28,7 @@ import com.google.cloud.bigtable.data.v2.models.Range.ByteStringRange; import com.google.protobuf.ByteString; import com.google.protobuf.Duration; -import com.google.protobuf.util.Timestamps; +import com.google.protobuf.Timestamp; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; @@ -41,6 +41,7 @@ import org.junit.rules.ExpectedException; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; +import org.threeten.bp.Instant; @RunWith(JUnit4.class) public class ReadChangeStreamQueryTest { @@ -49,8 +50,8 @@ public class ReadChangeStreamQueryTest { private static final String TABLE_ID = "fake-table"; private static final String APP_PROFILE_ID = "fake-profile-id"; private RequestContext requestContext; - private static final long FAKE_START_TIME = 1000L; - private static final long FAKE_END_TIME = 2000L; + private static final Instant FAKE_START_TIME = Instant.ofEpochSecond(1L, 1000L); + private static final Instant FAKE_END_TIME = Instant.ofEpochSecond(1L, 2000L); @Rule public ExpectedException expect = ExpectedException.none(); @@ -123,7 +124,11 @@ public void startTimeTest() { ReadChangeStreamQuery query = ReadChangeStreamQuery.create(TABLE_ID).startTime(FAKE_START_TIME); Builder expectedProto = - expectedProtoBuilder().setStartTime(Timestamps.fromNanos(FAKE_START_TIME)); + expectedProtoBuilder() + .setStartTime( + Timestamp.newBuilder() + .setSeconds(FAKE_START_TIME.getEpochSecond()) + .setNanos(FAKE_START_TIME.getNano())); ReadChangeStreamRequest actualProto = query.toProto(requestContext); assertThat(actualProto).isEqualTo(expectedProto.build()); @@ -133,7 +138,12 @@ public void startTimeTest() { public void endTimeTest() { ReadChangeStreamQuery query = ReadChangeStreamQuery.create(TABLE_ID).endTime(FAKE_END_TIME); - Builder expectedProto = expectedProtoBuilder().setEndTime(Timestamps.fromNanos(FAKE_END_TIME)); + Builder expectedProto = + expectedProtoBuilder() + .setEndTime( + Timestamp.newBuilder() + .setSeconds(FAKE_END_TIME.getEpochSecond()) + .setNanos(FAKE_END_TIME.getNano())); ReadChangeStreamRequest actualProto = query.toProto(requestContext); assertThat(actualProto).isEqualTo(expectedProto.build()); @@ -267,7 +277,10 @@ public void testFromProto() { .setEndKeyClosed(ByteString.copyFromUtf8("")) .build())) .setContinuationTokens(StreamContinuationTokens.newBuilder().addTokens(token).build()) - .setEndTime(Timestamps.fromNanos(FAKE_END_TIME)) + .setEndTime( + Timestamp.newBuilder() + .setSeconds(FAKE_END_TIME.getEpochSecond()) + .setNanos(FAKE_END_TIME.getNano())) .setHeartbeatDuration(Duration.newBuilder().setSeconds(5).build()) .build(); ReadChangeStreamQuery query = ReadChangeStreamQuery.fromProto(request); @@ -304,9 +317,11 @@ public void testEquality() { assertThat(ReadChangeStreamQuery.create(TABLE_ID).streamPartition("begin-1", "end-1")) .isNotEqualTo(ReadChangeStreamQuery.create(TABLE_ID).streamPartition("begin-2", "end-1")); assertThat(ReadChangeStreamQuery.create(TABLE_ID).startTime(FAKE_START_TIME)) - .isNotEqualTo(ReadChangeStreamQuery.create(TABLE_ID).startTime(1001L)); + .isNotEqualTo( + ReadChangeStreamQuery.create(TABLE_ID).startTime(Instant.ofEpochSecond(1L, 1001L))); assertThat(ReadChangeStreamQuery.create(TABLE_ID).endTime(FAKE_END_TIME)) - .isNotEqualTo(ReadChangeStreamQuery.create(TABLE_ID).endTime(1001L)); + .isNotEqualTo( + ReadChangeStreamQuery.create(TABLE_ID).endTime(Instant.ofEpochSecond(1L, 1001L))); assertThat( ReadChangeStreamQuery.create(TABLE_ID) .heartbeatDuration(java.time.Duration.ofSeconds(5))) @@ -349,7 +364,10 @@ public void testClone() { .build())) .setContinuationTokens( StreamContinuationTokens.newBuilder().addTokens(tokenProto).build()) - .setEndTime(Timestamps.fromNanos(FAKE_END_TIME)) + .setEndTime( + Timestamp.newBuilder() + .setSeconds(FAKE_END_TIME.getEpochSecond()) + .setNanos(FAKE_END_TIME.getNano())) .setHeartbeatDuration(Duration.newBuilder().setSeconds(5).build()) .build(); diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/changestream/ChangeStreamRecordMergingCallableTest.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/changestream/ChangeStreamRecordMergingCallableTest.java index 70ff23a439..736491a0af 100644 --- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/changestream/ChangeStreamRecordMergingCallableTest.java +++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/changestream/ChangeStreamRecordMergingCallableTest.java @@ -32,7 +32,6 @@ import com.google.cloud.bigtable.gaxx.testing.FakeStreamingApi.ServerStreamingStashCallable; import com.google.protobuf.ByteString; import com.google.protobuf.Timestamp; -import com.google.protobuf.util.Timestamps; import com.google.rpc.Status; import java.util.Collections; import java.util.List; @@ -40,6 +39,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; +import org.threeten.bp.Instant; /** * Additional tests in addition to {@link ReadChangeStreamMergingAcceptanceTest}. @@ -81,7 +81,10 @@ public void heartbeatTest() { assertThat(heartbeat.getChangeStreamContinuationToken().getToken()) .isEqualTo(heartbeatProto.getContinuationToken().getToken()); assertThat(heartbeat.getEstimatedLowWatermark()) - .isEqualTo(Timestamps.toNanos(heartbeatProto.getEstimatedLowWatermark())); + .isEqualTo( + Instant.ofEpochSecond( + heartbeatProto.getEstimatedLowWatermark().getSeconds(), + heartbeatProto.getEstimatedLowWatermark().getNanos())); } @Test @@ -116,7 +119,7 @@ public void closeStreamTest() { ChangeStreamRecord record = results.get(0); Assert.assertTrue(record instanceof CloseStream); CloseStream closeStream = (CloseStream) record; - assertThat(closeStream.getStatus()).isEqualTo(closeStreamProto.getStatus()); + assertThat(closeStream.getStatus().toProto()).isEqualTo(closeStreamProto.getStatus()); assertThat(closeStream.getChangeStreamContinuationTokens().size()).isEqualTo(1); ChangeStreamContinuationToken changeStreamContinuationToken = closeStream.getChangeStreamContinuationTokens().get(0); diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/changestream/ReadChangeStreamMergingAcceptanceTest.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/changestream/ReadChangeStreamMergingAcceptanceTest.java index afc35959e4..67d6a99f7b 100644 --- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/changestream/ReadChangeStreamMergingAcceptanceTest.java +++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/changestream/ReadChangeStreamMergingAcceptanceTest.java @@ -43,8 +43,8 @@ import com.google.cloud.conformance.bigtable.v2.ChangeStreamTestDefinition.ChangeStreamTestFile; import com.google.cloud.conformance.bigtable.v2.ChangeStreamTestDefinition.ReadChangeStreamTest; import com.google.common.base.CaseFormat; +import com.google.protobuf.Timestamp; import com.google.protobuf.util.JsonFormat; -import com.google.protobuf.util.Timestamps; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; @@ -142,7 +142,10 @@ public void test() throws Exception { .setToken(heartbeat.getChangeStreamContinuationToken().getToken()) .build()) .setEstimatedLowWatermark( - Timestamps.fromNanos(heartbeat.getEstimatedLowWatermark())) + Timestamp.newBuilder() + .setSeconds(heartbeat.getEstimatedLowWatermark().getEpochSecond()) + .setNanos(heartbeat.getEstimatedLowWatermark().getNano()) + .build()) .build(); actualResults.add( ReadChangeStreamTest.Result.newBuilder() @@ -154,7 +157,8 @@ public void test() throws Exception { } else if (record instanceof CloseStream) { CloseStream closeStream = (CloseStream) record; ReadChangeStreamResponse.CloseStream.Builder builder = - ReadChangeStreamResponse.CloseStream.newBuilder().setStatus(closeStream.getStatus()); + ReadChangeStreamResponse.CloseStream.newBuilder() + .setStatus(closeStream.getStatus().toProto()); for (ChangeStreamContinuationToken token : closeStream.getChangeStreamContinuationTokens()) { builder.addContinuationTokens( @@ -194,11 +198,17 @@ public void test() throws Exception { builder.setSourceClusterId(changeStreamMutation.getSourceClusterId()); } builder.setCommitTimestamp( - Timestamps.fromNanos(changeStreamMutation.getCommitTimestamp())); + Timestamp.newBuilder() + .setSeconds(changeStreamMutation.getCommitTimestamp().getEpochSecond()) + .setNanos(changeStreamMutation.getCommitTimestamp().getNano()) + .build()); builder.setTiebreaker(changeStreamMutation.getTieBreaker()); builder.setToken(changeStreamMutation.getToken()); builder.setEstimatedLowWatermark( - Timestamps.fromNanos(changeStreamMutation.getEstimatedLowWatermark())); + Timestamp.newBuilder() + .setSeconds(changeStreamMutation.getEstimatedLowWatermark().getEpochSecond()) + .setNanos(changeStreamMutation.getEstimatedLowWatermark().getNano()) + .build()); for (Entry entry : changeStreamMutation.getEntries()) { if (entry instanceof DeleteFamily) { DeleteFamily deleteFamily = (DeleteFamily) entry; diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/changestream/ReadChangeStreamRetryTest.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/changestream/ReadChangeStreamRetryTest.java index 2f4cc14327..c994f3fc8d 100644 --- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/changestream/ReadChangeStreamRetryTest.java +++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/changestream/ReadChangeStreamRetryTest.java @@ -45,7 +45,6 @@ import com.google.common.truth.Truth; import com.google.protobuf.ByteString; import com.google.protobuf.Timestamp; -import com.google.protobuf.util.Timestamps; import io.grpc.Status; import io.grpc.Status.Code; import io.grpc.StatusRuntimeException; @@ -63,6 +62,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; +import org.threeten.bp.Instant; @RunWith(JUnit4.class) public class ReadChangeStreamRetryTest { @@ -74,7 +74,7 @@ public class ReadChangeStreamRetryTest { private static final String HEARTBEAT_TOKEN = "heartbeat-token"; private static final String CLOSE_STREAM_TOKEN = "close-stream-token"; private static final String DATA_CHANGE_TOKEN = "data-change-token"; - private static final long REQUEST_START_TIME = 1000L; + private static final Instant REQUEST_START_TIME = Instant.ofEpochSecond(0L, 1000L); @Rule public GrpcServerRule serverRule = new GrpcServerRule(); private TestBigtableService service; @@ -446,7 +446,10 @@ static RpcExpectation create() { } RpcExpectation expectInitialRequest() { - requestBuilder.setStartTime(Timestamps.fromNanos(REQUEST_START_TIME)); + requestBuilder.setStartTime( + Timestamp.newBuilder() + .setSeconds(REQUEST_START_TIME.getEpochSecond()) + .setNanos(REQUEST_START_TIME.getNano())); return this; } diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/changestream/ReadChangeStreamUserCallableTest.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/changestream/ReadChangeStreamUserCallableTest.java index 2f50c7065b..043d6ff3dd 100644 --- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/changestream/ReadChangeStreamUserCallableTest.java +++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/changestream/ReadChangeStreamUserCallableTest.java @@ -25,6 +25,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; +import org.threeten.bp.Instant; @RunWith(JUnit4.class) public class ReadChangeStreamUserCallableTest { @@ -40,8 +41,8 @@ public void testRequestIsConverted() { ReadChangeStreamQuery query = ReadChangeStreamQuery.create("fake-table") .streamPartition("begin", "end") - .startTime(1000L) - .endTime(2000L) + .startTime(Instant.ofEpochSecond(0L, 1000L)) + .endTime(Instant.ofEpochSecond(0L, 2000L)) .heartbeatDuration(Duration.ofSeconds(1)); callable.call(query); Truth.assertThat(innerCallable.getActualRequest()).isEqualTo(query.toProto(REQUEST_CONTEXT)); diff --git a/grpc-google-cloud-bigtable-admin-v2/pom.xml b/grpc-google-cloud-bigtable-admin-v2/pom.xml index 95a87d6af3..2fadb56493 100644 --- a/grpc-google-cloud-bigtable-admin-v2/pom.xml +++ b/grpc-google-cloud-bigtable-admin-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bigtable-admin-v2 - 2.19.1 + 2.19.2 grpc-google-cloud-bigtable-admin-v2 GRPC library for grpc-google-cloud-bigtable-admin-v2 com.google.cloud google-cloud-bigtable-parent - 2.19.1 + 2.19.2 @@ -18,14 +18,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.19.1 + 2.19.2 pom import com.google.cloud google-cloud-bigtable-bom - 2.19.1 + 2.19.2 pom import diff --git a/grpc-google-cloud-bigtable-v2/pom.xml b/grpc-google-cloud-bigtable-v2/pom.xml index e07cdd7639..28cdba2c32 100644 --- a/grpc-google-cloud-bigtable-v2/pom.xml +++ b/grpc-google-cloud-bigtable-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bigtable-v2 - 2.19.1 + 2.19.2 grpc-google-cloud-bigtable-v2 GRPC library for grpc-google-cloud-bigtable-v2 com.google.cloud google-cloud-bigtable-parent - 2.19.1 + 2.19.2 @@ -18,14 +18,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.19.1 + 2.19.2 pom import com.google.cloud google-cloud-bigtable-bom - 2.19.1 + 2.19.2 pom import diff --git a/pom.xml b/pom.xml index e25c83c964..6d1501a968 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ google-cloud-bigtable-parent pom - 2.19.1 + 2.19.2 Google Cloud Bigtable Parent https://github.com/googleapis/java-bigtable @@ -153,27 +153,27 @@ com.google.api.grpc proto-google-cloud-bigtable-v2 - 2.19.1 + 2.19.2 com.google.api.grpc proto-google-cloud-bigtable-admin-v2 - 2.19.1 + 2.19.2 com.google.api.grpc grpc-google-cloud-bigtable-v2 - 2.19.1 + 2.19.2 com.google.api.grpc grpc-google-cloud-bigtable-admin-v2 - 2.19.1 + 2.19.2 com.google.cloud google-cloud-bigtable - 2.19.1 + 2.19.2 diff --git a/proto-google-cloud-bigtable-admin-v2/pom.xml b/proto-google-cloud-bigtable-admin-v2/pom.xml index 2184cb186a..d0ab4c144f 100644 --- a/proto-google-cloud-bigtable-admin-v2/pom.xml +++ b/proto-google-cloud-bigtable-admin-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bigtable-admin-v2 - 2.19.1 + 2.19.2 proto-google-cloud-bigtable-admin-v2 PROTO library for proto-google-cloud-bigtable-admin-v2 com.google.cloud google-cloud-bigtable-parent - 2.19.1 + 2.19.2 @@ -18,14 +18,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.19.1 + 2.19.2 pom import com.google.cloud google-cloud-bigtable-bom - 2.19.1 + 2.19.2 pom import diff --git a/proto-google-cloud-bigtable-v2/pom.xml b/proto-google-cloud-bigtable-v2/pom.xml index 82c334af22..2d6de218d9 100644 --- a/proto-google-cloud-bigtable-v2/pom.xml +++ b/proto-google-cloud-bigtable-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bigtable-v2 - 2.19.1 + 2.19.2 proto-google-cloud-bigtable-v2 PROTO library for proto-google-cloud-bigtable-v2 com.google.cloud google-cloud-bigtable-parent - 2.19.1 + 2.19.2 @@ -18,14 +18,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.19.1 + 2.19.2 pom import com.google.cloud google-cloud-bigtable-bom - 2.19.1 + 2.19.2 pom import diff --git a/samples/install-without-bom/pom.xml b/samples/install-without-bom/pom.xml index 176040b1c7..d4cb9fac5f 100644 --- a/samples/install-without-bom/pom.xml +++ b/samples/install-without-bom/pom.xml @@ -29,7 +29,7 @@ com.google.cloud google-cloud-bigtable - 2.19.0 + 2.19.1 diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml index c554da70c9..af5085f6a7 100644 --- a/samples/snapshot/pom.xml +++ b/samples/snapshot/pom.xml @@ -28,7 +28,7 @@ com.google.cloud google-cloud-bigtable - 2.19.1 + 2.19.2 diff --git a/test-proxy/pom.xml b/test-proxy/pom.xml index 98c710f83f..e2326f96d7 100644 --- a/test-proxy/pom.xml +++ b/test-proxy/pom.xml @@ -12,11 +12,11 @@ google-cloud-bigtable-parent com.google.cloud - 2.19.1 + 2.19.2 - 2.19.1 + 2.19.2 diff --git a/versions.txt b/versions.txt index ca60d29965..98b9735ca9 100644 --- a/versions.txt +++ b/versions.txt @@ -1,10 +1,10 @@ # Format: # module:released-version:current-version -google-cloud-bigtable:2.19.1:2.19.1 -grpc-google-cloud-bigtable-admin-v2:2.19.1:2.19.1 -grpc-google-cloud-bigtable-v2:2.19.1:2.19.1 -proto-google-cloud-bigtable-admin-v2:2.19.1:2.19.1 -proto-google-cloud-bigtable-v2:2.19.1:2.19.1 -google-cloud-bigtable-emulator:0.156.1:0.156.1 -google-cloud-bigtable-emulator-core:2.19.1:2.19.1 +google-cloud-bigtable:2.19.2:2.19.2 +grpc-google-cloud-bigtable-admin-v2:2.19.2:2.19.2 +grpc-google-cloud-bigtable-v2:2.19.2:2.19.2 +proto-google-cloud-bigtable-admin-v2:2.19.2:2.19.2 +proto-google-cloud-bigtable-v2:2.19.2:2.19.2 +google-cloud-bigtable-emulator:0.156.2:0.156.2 +google-cloud-bigtable-emulator-core:2.19.2:2.19.2