From 18e4f8b1e3db0fc96d2ff3bde292773a1e6961e5 Mon Sep 17 00:00:00 2001
From: "release-please[bot]"
<55107282+release-please[bot]@users.noreply.github.com>
Date: Fri, 30 Apr 2021 22:30:46 -0700
Subject: [PATCH 1/5] chore: release 1.63.3-SNAPSHOT (#1358)
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
---
benchmark/build.gradle | 2 +-
build.gradle | 2 +-
dependencies.properties | 8 ++++----
gax-bom/build.gradle | 2 +-
gax-bom/pom.xml | 14 +++++++-------
gax-grpc/build.gradle | 2 +-
gax-httpjson/build.gradle | 2 +-
gax/build.gradle | 2 +-
samples/pom.xml | 4 ++--
versions.txt | 10 +++++-----
10 files changed, 24 insertions(+), 24 deletions(-)
diff --git a/benchmark/build.gradle b/benchmark/build.gradle
index 9328a4923..030468aca 100644
--- a/benchmark/build.gradle
+++ b/benchmark/build.gradle
@@ -1,4 +1,4 @@
-project.version = "0.65.2" // {x-version-update:benchmark:current}
+project.version = "0.65.3-SNAPSHOT" // {x-version-update:benchmark:current}
buildscript {
repositories {
diff --git a/build.gradle b/build.gradle
index 27957db07..5340b64f7 100644
--- a/build.gradle
+++ b/build.gradle
@@ -24,7 +24,7 @@ apply plugin: 'com.github.sherter.google-java-format'
apply plugin: 'io.codearte.nexus-staging'
// TODO: Populate this from dependencies.properties version property (for proper Gradle-Bazel sync)
-project.version = "1.63.2" // {x-version-update:gax:current}
+project.version = "1.63.3-SNAPSHOT" // {x-version-update:gax:current}
ext {
// Project names not used for release
diff --git a/dependencies.properties b/dependencies.properties
index e2ca13ecb..a479710a9 100644
--- a/dependencies.properties
+++ b/dependencies.properties
@@ -8,16 +8,16 @@
# Versions of oneself
# {x-version-update-start:gax:current}
-version.gax=1.63.2
+version.gax=1.63.3-SNAPSHOT
# {x-version-update-end}
# {x-version-update-start:gax:current}
-version.gax_grpc=1.63.2
+version.gax_grpc=1.63.3-SNAPSHOT
# {x-version-update-end}
# {x-version-update-start:gax:current}
-version.gax_bom=1.63.2
+version.gax_bom=1.63.3-SNAPSHOT
# {x-version-update-end}
# {x-version-update-start:gax-httpjson:current}
-version.gax_httpjson=0.80.2
+version.gax_httpjson=0.80.3-SNAPSHOT
# {x-version-update-end}
# Versions for dependencies which actual artifacts differ between Bazel and Gradle.
diff --git a/gax-bom/build.gradle b/gax-bom/build.gradle
index 26cf79596..8ff07016a 100644
--- a/gax-bom/build.gradle
+++ b/gax-bom/build.gradle
@@ -12,7 +12,7 @@ buildscript {
archivesBaseName = "gax-bom"
-project.version = "1.63.2" // {x-version-update:gax-bom:current}
+project.version = "1.63.3-SNAPSHOT" // {x-version-update:gax-bom:current}
ext {
mavenJavaDir = "$project.buildDir/publications/mavenJava"
diff --git a/gax-bom/pom.xml b/gax-bom/pom.xml
index a54937176..c6cdb595c 100644
--- a/gax-bom/pom.xml
+++ b/gax-bom/pom.xml
@@ -3,7 +3,7 @@
4.0.0
com.google.api
gax-bom
- 1.63.2
+ 1.63.3-SNAPSHOT
pom
GAX (Google Api eXtensions) for Java
Google Api eXtensions for Java
@@ -33,34 +33,34 @@
com.google.api
gax
- 1.63.2
+ 1.63.3-SNAPSHOT
com.google.api
gax
- 1.63.2
+ 1.63.3-SNAPSHOT
testlib
com.google.api
gax-grpc
- 1.63.2
+ 1.63.3-SNAPSHOT
com.google.api
gax-grpc
- 1.63.2
+ 1.63.3-SNAPSHOT
testlib
com.google.api
gax-httpjson
- 0.80.2
+ 0.80.3-SNAPSHOT
com.google.api
gax-httpjson
- 0.80.2
+ 0.80.3-SNAPSHOT
testlib
diff --git a/gax-grpc/build.gradle b/gax-grpc/build.gradle
index 2858a1a3b..394406748 100644
--- a/gax-grpc/build.gradle
+++ b/gax-grpc/build.gradle
@@ -1,7 +1,7 @@
archivesBaseName = "gax-grpc"
// TODO: Populate this from dependencies.properties version property (for proper Gradle-Bazel sync)
-project.version = "1.63.2" // {x-version-update:gax-grpc:current}
+project.version = "1.63.3-SNAPSHOT" // {x-version-update:gax-grpc:current}
dependencies {
compile project(':gax'),
diff --git a/gax-httpjson/build.gradle b/gax-httpjson/build.gradle
index bb327cb59..acc7b6868 100644
--- a/gax-httpjson/build.gradle
+++ b/gax-httpjson/build.gradle
@@ -1,7 +1,7 @@
archivesBaseName = "gax-httpjson"
// TODO: Populate this from dependencies.properties version property (for proper Gradle-Bazel sync)
-project.version = "0.80.2" // {x-version-update:gax-httpjson:current}
+project.version = "0.80.3-SNAPSHOT" // {x-version-update:gax-httpjson:current}
dependencies {
compile project(':gax'),
diff --git a/gax/build.gradle b/gax/build.gradle
index bfbba6701..2d389d78b 100644
--- a/gax/build.gradle
+++ b/gax/build.gradle
@@ -1,7 +1,7 @@
archivesBaseName = "gax"
// TODO: Populate this from dependencies.properties version property (for proper Gradle-Bazel sync)
-project.version = "1.63.2" // {x-version-update:gax:current}
+project.version = "1.63.3-SNAPSHOT" // {x-version-update:gax:current}
dependencies {
compile libraries['maven.com_google_guava_guava'],
diff --git a/samples/pom.xml b/samples/pom.xml
index 09e3c60ea..d4587d2b5 100644
--- a/samples/pom.xml
+++ b/samples/pom.xml
@@ -14,13 +14,13 @@
com.google.api
gax
- 1.63.2
+ 1.63.3-SNAPSHOT
com.google.api
gax-grpc
- 1.63.2
+ 1.63.3-SNAPSHOT
com.google.auto.value
diff --git a/versions.txt b/versions.txt
index 70c665e27..58973f858 100644
--- a/versions.txt
+++ b/versions.txt
@@ -1,8 +1,8 @@
# Format:
# module:released-version:current-version
-gax:1.63.2:1.63.2
-gax-bom:1.63.2:1.63.2
-gax-grpc:1.63.2:1.63.2
-gax-httpjson:0.80.2:0.80.2
-benchmark:0.65.2:0.65.2
+gax:1.63.2:1.63.3-SNAPSHOT
+gax-bom:1.63.2:1.63.3-SNAPSHOT
+gax-grpc:1.63.2:1.63.3-SNAPSHOT
+gax-httpjson:0.80.2:0.80.3-SNAPSHOT
+benchmark:0.65.2:0.65.3-SNAPSHOT
From 2cca0bf9e96271dd52e8bffa00b8f2d45d358d35 Mon Sep 17 00:00:00 2001
From: Vadym Matsishevskyi <25311427+vam-google@users.noreply.github.com>
Date: Mon, 3 May 2021 14:00:29 -0700
Subject: [PATCH 2/5] fix: Remove a flacky test in FlowControllerTest (#1360)
It is a temporary workaround. More details here: https://github.com/googleapis/gax-java/issues/1359
---
.../java/com/google/api/gax/batching/FlowControllerTest.java | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/gax/src/test/java/com/google/api/gax/batching/FlowControllerTest.java b/gax/src/test/java/com/google/api/gax/batching/FlowControllerTest.java
index b0bc72531..57e60b094 100644
--- a/gax/src/test/java/com/google/api/gax/batching/FlowControllerTest.java
+++ b/gax/src/test/java/com/google/api/gax/batching/FlowControllerTest.java
@@ -50,6 +50,7 @@
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
import java.util.concurrent.atomic.AtomicInteger;
+import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
@@ -538,6 +539,9 @@ public void testConcurrentUpdateThresholds_blocking() throws Exception {
testBlockingReserveRelease(flowController, 0, expectedValue);
}
+ // This test is very flaky. Remove @Ignore once https://github.com/googleapis/gax-java/issues/1359
+ // is fixed.
+ @Ignore
@Test
public void testConcurrentUpdateThresholds_nonBlocking() throws Exception {
int initialValue = 5000;
From 3c4519127e1c78b5915252a4ff351a3abc1374ae Mon Sep 17 00:00:00 2001
From: WhiteSource Renovate
Date: Tue, 4 May 2021 13:40:33 +0200
Subject: [PATCH 3/5] chore(deps): update dependency
com.google.api.grpc:grpc-google-cloud-bigtable-v2 to v1.21.2 (#1330)
Co-authored-by: Elliotte Rusty Harold
---
benchmark/build.gradle | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/benchmark/build.gradle b/benchmark/build.gradle
index 030468aca..2efa8cc12 100644
--- a/benchmark/build.gradle
+++ b/benchmark/build.gradle
@@ -23,7 +23,7 @@ dependencies {
compile project(':gax-grpc')
compile "io.grpc:grpc-netty:${libraries['version.io_grpc']}"
- compile 'com.google.api.grpc:grpc-google-cloud-bigtable-v2:1.21.0'
+ compile 'com.google.api.grpc:grpc-google-cloud-bigtable-v2:1.21.2'
compile 'com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.86.0'
}
From fc8e520acfaf843ac61e806bdb4b5fe393d0b447 Mon Sep 17 00:00:00 2001
From: Mattie Fu
Date: Tue, 4 May 2021 15:00:51 -0400
Subject: [PATCH 4/5] fix: fix flaky tests and non blocking semaphore (#1365)
* fix: fix race condition in non blocking semaphore
* update comment
---
.../gax/batching/NonBlockingSemaphore.java | 25 ++++-----
.../batching/FlowControlEventStatsTest.java | 27 ++-------
.../api/gax/batching/FlowControllerTest.java | 56 ++++++++-----------
3 files changed, 42 insertions(+), 66 deletions(-)
diff --git a/gax/src/main/java/com/google/api/gax/batching/NonBlockingSemaphore.java b/gax/src/main/java/com/google/api/gax/batching/NonBlockingSemaphore.java
index efa54d8bd..126d1bb7b 100644
--- a/gax/src/main/java/com/google/api/gax/batching/NonBlockingSemaphore.java
+++ b/gax/src/main/java/com/google/api/gax/batching/NonBlockingSemaphore.java
@@ -35,7 +35,7 @@
/** A {@link Semaphore64} that immediately returns with failure if permits are not available. */
class NonBlockingSemaphore implements Semaphore64 {
- private AtomicLong availablePermits;
+ private AtomicLong acquiredPermits;
private AtomicLong limit;
private static void checkNotNegative(long l) {
@@ -44,7 +44,7 @@ private static void checkNotNegative(long l) {
NonBlockingSemaphore(long permits) {
checkNotNegative(permits);
- this.availablePermits = new AtomicLong(permits);
+ this.acquiredPermits = new AtomicLong(0);
this.limit = new AtomicLong(permits);
}
@@ -52,9 +52,10 @@ private static void checkNotNegative(long l) {
public void release(long permits) {
checkNotNegative(permits);
while (true) {
- long old = availablePermits.get();
+ long old = acquiredPermits.get();
// TODO: throw exceptions when the permits overflow
- if (availablePermits.compareAndSet(old, Math.min(old + permits, limit.get()))) {
+ long newAcquired = Math.max(0, old - permits);
+ if (acquiredPermits.compareAndSet(old, newAcquired)) {
return;
}
}
@@ -64,11 +65,11 @@ public void release(long permits) {
public boolean acquire(long permits) {
checkNotNegative(permits);
while (true) {
- long old = availablePermits.get();
- if (old < permits) {
+ long old = acquiredPermits.get();
+ if (old + permits > limit.get()) {
return false;
}
- if (availablePermits.compareAndSet(old, old - permits)) {
+ if (acquiredPermits.compareAndSet(old, old + permits)) {
return true;
}
}
@@ -79,13 +80,13 @@ public boolean acquirePartial(long permits) {
checkNotNegative(permits);
// To allow individual oversized requests to be sent, clamp the requested permits to the maximum
// limit. This will allow individual large requests to be sent. Please note that this behavior
- // will result in availablePermits going negative.
+ // will result in acquiredPermits going over limit.
while (true) {
- long old = availablePermits.get();
- if (old < Math.min(limit.get(), permits)) {
+ long old = acquiredPermits.get();
+ if (old + permits > limit.get() && old > 0) {
return false;
}
- if (availablePermits.compareAndSet(old, old - permits)) {
+ if (acquiredPermits.compareAndSet(old, old + permits)) {
return true;
}
}
@@ -94,7 +95,6 @@ public boolean acquirePartial(long permits) {
@Override
public void increasePermitLimit(long permits) {
checkNotNegative(permits);
- availablePermits.addAndGet(permits);
limit.addAndGet(permits);
}
@@ -106,7 +106,6 @@ public void reducePermitLimit(long reduction) {
long oldLimit = limit.get();
Preconditions.checkState(oldLimit - reduction > 0, "permit limit underflow");
if (limit.compareAndSet(oldLimit, oldLimit - reduction)) {
- availablePermits.addAndGet(-reduction);
return;
}
}
diff --git a/gax/src/test/java/com/google/api/gax/batching/FlowControlEventStatsTest.java b/gax/src/test/java/com/google/api/gax/batching/FlowControlEventStatsTest.java
index 5136f312a..4dcb0c4ff 100644
--- a/gax/src/test/java/com/google/api/gax/batching/FlowControlEventStatsTest.java
+++ b/gax/src/test/java/com/google/api/gax/batching/FlowControlEventStatsTest.java
@@ -36,8 +36,6 @@
import com.google.api.gax.batching.FlowControlEventStats.FlowControlEvent;
import com.google.api.gax.batching.FlowController.MaxOutstandingRequestBytesReachedException;
-import java.util.ArrayList;
-import java.util.List;
import java.util.concurrent.TimeUnit;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -71,27 +69,14 @@ public void testCreateEvent() {
}
@Test
- public void testGetLastEvent() throws InterruptedException {
- final FlowControlEventStats stats = new FlowControlEventStats();
- final long currentTime = System.currentTimeMillis();
+ public void testGetLastEvent() {
+ FlowControlEventStats stats = new FlowControlEventStats();
+ long currentTime = System.currentTimeMillis();
- List threads = new ArrayList<>();
for (int i = 1; i <= 10; i++) {
- final int timeElapsed = i;
- Thread t =
- new Thread() {
- @Override
- public void run() {
- stats.recordFlowControlEvent(
- FlowControlEvent.createReserveDelayed(currentTime + timeElapsed, timeElapsed));
- }
- };
- threads.add(t);
- t.start();
- }
-
- for (Thread t : threads) {
- t.join(10);
+ int timeElapsed = i;
+ stats.recordFlowControlEvent(
+ FlowControlEvent.createReserveDelayed(currentTime + timeElapsed, timeElapsed));
}
assertEquals(currentTime + 10, stats.getLastFlowControlEvent().getTimestampMs());
diff --git a/gax/src/test/java/com/google/api/gax/batching/FlowControllerTest.java b/gax/src/test/java/com/google/api/gax/batching/FlowControllerTest.java
index 57e60b094..cb82d28db 100644
--- a/gax/src/test/java/com/google/api/gax/batching/FlowControllerTest.java
+++ b/gax/src/test/java/com/google/api/gax/batching/FlowControllerTest.java
@@ -44,13 +44,13 @@
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
+import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
import java.util.concurrent.atomic.AtomicInteger;
-import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
@@ -500,7 +500,6 @@ private void testRejectedReserveRelease(
}
flowController.release(1, 1);
-
flowController.reserve(maxElementCount, maxNumBytes);
flowController.release(maxElementCount, maxNumBytes);
}
@@ -523,11 +522,11 @@ public void testConcurrentUpdateThresholds_blocking() throws Exception {
final AtomicInteger totalDecreased = new AtomicInteger(0);
final AtomicInteger releasedCounter = new AtomicInteger(0);
- List reserveThreads =
+ List reserveThreads =
testConcurrentUpdates(
- flowController, 100, 100, 100, totalIncreased, totalDecreased, releasedCounter);
- for (Thread t : reserveThreads) {
- t.join(200);
+ flowController, 100, 100, 10, totalIncreased, totalDecreased, releasedCounter);
+ for (Future t : reserveThreads) {
+ t.get(200, TimeUnit.MILLISECONDS);
}
assertEquals(reserveThreads.size(), releasedCounter.get());
assertTrue(totalIncreased.get() > 0);
@@ -539,9 +538,6 @@ public void testConcurrentUpdateThresholds_blocking() throws Exception {
testBlockingReserveRelease(flowController, 0, expectedValue);
}
- // This test is very flaky. Remove @Ignore once https://github.com/googleapis/gax-java/issues/1359
- // is fixed.
- @Ignore
@Test
public void testConcurrentUpdateThresholds_nonBlocking() throws Exception {
int initialValue = 5000;
@@ -559,11 +555,11 @@ public void testConcurrentUpdateThresholds_nonBlocking() throws Exception {
AtomicInteger totalIncreased = new AtomicInteger(0);
AtomicInteger totalDecreased = new AtomicInteger(0);
AtomicInteger releasedCounter = new AtomicInteger(0);
- List reserveThreads =
+ List reserveThreads =
testConcurrentUpdates(
flowController, 100, 100, 100, totalIncreased, totalDecreased, releasedCounter);
- for (Thread t : reserveThreads) {
- t.join(200);
+ for (Future t : reserveThreads) {
+ t.get(200, TimeUnit.MILLISECONDS);
}
assertEquals(reserveThreads.size(), releasedCounter.get());
assertTrue(totalIncreased.get() > 0);
@@ -698,8 +694,7 @@ public void run() {
};
// blocked by element. Reserve all 5 elements first, reserve in the runnable will be blocked
flowController.reserve(5, 1);
- ExecutorService executor = Executors.newCachedThreadPool();
- Future> finished1 = executor.submit(runnable);
+ Future> finished1 = Executors.newSingleThreadExecutor().submit(runnable);
try {
finished1.get(50, TimeUnit.MILLISECONDS);
fail("reserve should block");
@@ -722,7 +717,7 @@ public void run() {
// Similar to blocked by element, test blocking by bytes.
flowController.reserve(1, 5);
- Future> finished2 = executor.submit(runnable);
+ Future> finished2 = Executors.newSingleThreadExecutor().submit(runnable);
try {
finished2.get(50, TimeUnit.MILLISECONDS);
fail("reserve should block");
@@ -739,7 +734,7 @@ public void run() {
.isAtLeast(currentTime);
}
- private List testConcurrentUpdates(
+ private List testConcurrentUpdates(
final FlowController flowController,
final int increaseStepRange,
final int decreaseStepRange,
@@ -747,7 +742,7 @@ private List testConcurrentUpdates(
final AtomicInteger totalIncreased,
final AtomicInteger totalDecreased,
final AtomicInteger releasedCounter)
- throws InterruptedException {
+ throws InterruptedException, TimeoutException, ExecutionException {
final Random random = new Random();
Runnable increaseRunnable =
new Runnable() {
@@ -779,22 +774,19 @@ public void run() {
}
}
};
- List updateThreads = new ArrayList<>();
- List reserveReleaseThreads = new ArrayList<>();
- for (int i = 0; i < 20; i++) {
- Thread increase = new Thread(increaseRunnable);
- Thread decrease = new Thread(decreaseRunnable);
- Thread reserveRelease = new Thread(reserveReleaseRunnable);
- updateThreads.add(increase);
- updateThreads.add(decrease);
- reserveReleaseThreads.add(reserveRelease);
- increase.start();
- decrease.start();
- reserveRelease.start();
+ List updateFuture = new ArrayList<>();
+ List reserveReleaseFuture = new ArrayList<>();
+ ExecutorService executors = Executors.newFixedThreadPool(10);
+ ExecutorService reserveExecutor = Executors.newFixedThreadPool(10);
+ for (int i = 0; i < 5; i++) {
+ updateFuture.add(executors.submit(increaseRunnable));
+ updateFuture.add(executors.submit(decreaseRunnable));
+ reserveReleaseFuture.add(reserveExecutor.submit(reserveReleaseRunnable));
}
- for (Thread t : updateThreads) {
- t.join(10);
+ for (Future t : updateFuture) {
+ t.get(50, TimeUnit.MILLISECONDS);
}
- return reserveReleaseThreads;
+ executors.shutdown();
+ return reserveReleaseFuture;
}
}
From 62c9e0a2a0694a2ce45800349bca1d7a70f150db Mon Sep 17 00:00:00 2001
From: "release-please[bot]"
<55107282+release-please[bot]@users.noreply.github.com>
Date: Tue, 4 May 2021 13:32:46 -0700
Subject: [PATCH 5/5] chore: release 1.63.3 (#1362)
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
---
CHANGELOG.md | 8 ++++++++
README.md | 12 ++++++------
benchmark/build.gradle | 2 +-
build.gradle | 2 +-
dependencies.properties | 8 ++++----
gax-bom/build.gradle | 2 +-
gax-bom/pom.xml | 14 +++++++-------
gax-grpc/build.gradle | 2 +-
gax-httpjson/build.gradle | 2 +-
gax/build.gradle | 2 +-
samples/pom.xml | 4 ++--
versions.txt | 10 +++++-----
12 files changed, 38 insertions(+), 30 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 92e2053af..a89ece643 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,13 @@
# Changelog
+### [1.63.3](https://www.github.com/googleapis/gax-java/compare/v1.63.2...v1.63.3) (2021-05-04)
+
+
+### Bug Fixes
+
+* fix flaky tests and non blocking semaphore ([#1365](https://www.github.com/googleapis/gax-java/issues/1365)) ([fc8e520](https://www.github.com/googleapis/gax-java/commit/fc8e520acfaf843ac61e806bdb4b5fe393d0b447))
+* Remove a flacky test in FlowControllerTest ([#1360](https://www.github.com/googleapis/gax-java/issues/1360)) ([2cca0bf](https://www.github.com/googleapis/gax-java/commit/2cca0bf9e96271dd52e8bffa00b8f2d45d358d35))
+
### [1.63.2](https://www.github.com/googleapis/gax-java/compare/v1.63.1...v1.63.2) (2021-04-30)
diff --git a/README.md b/README.md
index 66ef0173e..81c5f534f 100644
--- a/README.md
+++ b/README.md
@@ -29,27 +29,27 @@ If you are using Maven, add this to your pom.xml file
com.google.api
gax
- 1.63.2
+ 1.63.3
com.google.api
gax-grpc
- 1.63.2
+ 1.63.3
```
If you are using Gradle, add this to your dependencies
```Groovy
-compile 'com.google.api:gax:1.63.2',
- 'com.google.api:gax-grpc:1.63.2'
+compile 'com.google.api:gax:1.63.3',
+ 'com.google.api:gax-grpc:1.63.3'
```
If you are using SBT, add this to your dependencies
```Scala
-libraryDependencies += "com.google.api" % "gax" % "1.63.2"
-libraryDependencies += "com.google.api" % "gax-grpc" % "1.63.2"
+libraryDependencies += "com.google.api" % "gax" % "1.63.3"
+libraryDependencies += "com.google.api" % "gax-grpc" % "1.63.3"
```
[//]: # ({x-version-update-end})
diff --git a/benchmark/build.gradle b/benchmark/build.gradle
index 2efa8cc12..d923a6db7 100644
--- a/benchmark/build.gradle
+++ b/benchmark/build.gradle
@@ -1,4 +1,4 @@
-project.version = "0.65.3-SNAPSHOT" // {x-version-update:benchmark:current}
+project.version = "0.65.3" // {x-version-update:benchmark:current}
buildscript {
repositories {
diff --git a/build.gradle b/build.gradle
index 5340b64f7..8400a6a05 100644
--- a/build.gradle
+++ b/build.gradle
@@ -24,7 +24,7 @@ apply plugin: 'com.github.sherter.google-java-format'
apply plugin: 'io.codearte.nexus-staging'
// TODO: Populate this from dependencies.properties version property (for proper Gradle-Bazel sync)
-project.version = "1.63.3-SNAPSHOT" // {x-version-update:gax:current}
+project.version = "1.63.3" // {x-version-update:gax:current}
ext {
// Project names not used for release
diff --git a/dependencies.properties b/dependencies.properties
index a479710a9..9869d49fb 100644
--- a/dependencies.properties
+++ b/dependencies.properties
@@ -8,16 +8,16 @@
# Versions of oneself
# {x-version-update-start:gax:current}
-version.gax=1.63.3-SNAPSHOT
+version.gax=1.63.3
# {x-version-update-end}
# {x-version-update-start:gax:current}
-version.gax_grpc=1.63.3-SNAPSHOT
+version.gax_grpc=1.63.3
# {x-version-update-end}
# {x-version-update-start:gax:current}
-version.gax_bom=1.63.3-SNAPSHOT
+version.gax_bom=1.63.3
# {x-version-update-end}
# {x-version-update-start:gax-httpjson:current}
-version.gax_httpjson=0.80.3-SNAPSHOT
+version.gax_httpjson=0.80.3
# {x-version-update-end}
# Versions for dependencies which actual artifacts differ between Bazel and Gradle.
diff --git a/gax-bom/build.gradle b/gax-bom/build.gradle
index 8ff07016a..9214d9f88 100644
--- a/gax-bom/build.gradle
+++ b/gax-bom/build.gradle
@@ -12,7 +12,7 @@ buildscript {
archivesBaseName = "gax-bom"
-project.version = "1.63.3-SNAPSHOT" // {x-version-update:gax-bom:current}
+project.version = "1.63.3" // {x-version-update:gax-bom:current}
ext {
mavenJavaDir = "$project.buildDir/publications/mavenJava"
diff --git a/gax-bom/pom.xml b/gax-bom/pom.xml
index c6cdb595c..3ef0c684f 100644
--- a/gax-bom/pom.xml
+++ b/gax-bom/pom.xml
@@ -3,7 +3,7 @@
4.0.0
com.google.api
gax-bom
- 1.63.3-SNAPSHOT
+ 1.63.3
pom
GAX (Google Api eXtensions) for Java
Google Api eXtensions for Java
@@ -33,34 +33,34 @@
com.google.api
gax
- 1.63.3-SNAPSHOT
+ 1.63.3
com.google.api
gax
- 1.63.3-SNAPSHOT
+ 1.63.3
testlib
com.google.api
gax-grpc
- 1.63.3-SNAPSHOT
+ 1.63.3
com.google.api
gax-grpc
- 1.63.3-SNAPSHOT
+ 1.63.3
testlib
com.google.api
gax-httpjson
- 0.80.3-SNAPSHOT
+ 0.80.3
com.google.api
gax-httpjson
- 0.80.3-SNAPSHOT
+ 0.80.3
testlib
diff --git a/gax-grpc/build.gradle b/gax-grpc/build.gradle
index 394406748..8498ec485 100644
--- a/gax-grpc/build.gradle
+++ b/gax-grpc/build.gradle
@@ -1,7 +1,7 @@
archivesBaseName = "gax-grpc"
// TODO: Populate this from dependencies.properties version property (for proper Gradle-Bazel sync)
-project.version = "1.63.3-SNAPSHOT" // {x-version-update:gax-grpc:current}
+project.version = "1.63.3" // {x-version-update:gax-grpc:current}
dependencies {
compile project(':gax'),
diff --git a/gax-httpjson/build.gradle b/gax-httpjson/build.gradle
index acc7b6868..d8f83756c 100644
--- a/gax-httpjson/build.gradle
+++ b/gax-httpjson/build.gradle
@@ -1,7 +1,7 @@
archivesBaseName = "gax-httpjson"
// TODO: Populate this from dependencies.properties version property (for proper Gradle-Bazel sync)
-project.version = "0.80.3-SNAPSHOT" // {x-version-update:gax-httpjson:current}
+project.version = "0.80.3" // {x-version-update:gax-httpjson:current}
dependencies {
compile project(':gax'),
diff --git a/gax/build.gradle b/gax/build.gradle
index 2d389d78b..35312b59e 100644
--- a/gax/build.gradle
+++ b/gax/build.gradle
@@ -1,7 +1,7 @@
archivesBaseName = "gax"
// TODO: Populate this from dependencies.properties version property (for proper Gradle-Bazel sync)
-project.version = "1.63.3-SNAPSHOT" // {x-version-update:gax:current}
+project.version = "1.63.3" // {x-version-update:gax:current}
dependencies {
compile libraries['maven.com_google_guava_guava'],
diff --git a/samples/pom.xml b/samples/pom.xml
index d4587d2b5..cb99c3177 100644
--- a/samples/pom.xml
+++ b/samples/pom.xml
@@ -14,13 +14,13 @@
com.google.api
gax
- 1.63.3-SNAPSHOT
+ 1.63.3
com.google.api
gax-grpc
- 1.63.3-SNAPSHOT
+ 1.63.3
com.google.auto.value
diff --git a/versions.txt b/versions.txt
index 58973f858..2e48a80be 100644
--- a/versions.txt
+++ b/versions.txt
@@ -1,8 +1,8 @@
# Format:
# module:released-version:current-version
-gax:1.63.2:1.63.3-SNAPSHOT
-gax-bom:1.63.2:1.63.3-SNAPSHOT
-gax-grpc:1.63.2:1.63.3-SNAPSHOT
-gax-httpjson:0.80.2:0.80.3-SNAPSHOT
-benchmark:0.65.2:0.65.3-SNAPSHOT
+gax:1.63.3:1.63.3
+gax-bom:1.63.3:1.63.3
+gax-grpc:1.63.3:1.63.3
+gax-httpjson:0.80.3:0.80.3
+benchmark:0.65.3:0.65.3