Update dependencies and spanner emulator container
Update dependencies
- docker-java to 3.6.0
- jackson to 2.20
- jna to 5.18.1
- testcontainers to 1.21.3
Update SpannerEmulatorContainer to 1.5.42.
In LockTest#reclaimFreshLockedRef_Rejected use COMMMIT_TIMESTAMP instead
of current timestamp obtained from Timestamp.now() to avoid races
between the local clock and the Spanner emulator container which doesn't
have the exact same behavior as a real Spanner instance.
Without this fix the test sometimes failed with the error
"FAILED_PRECONDITION: Cannot write timestamps in the future".
Change-Id: I98e70505fbbac0261a927b66a60dca9082cc5638
diff --git a/external_plugin_deps.bzl b/external_plugin_deps.bzl
index d6b7d3c..dac79b4 100644
--- a/external_plugin_deps.bzl
+++ b/external_plugin_deps.bzl
@@ -3,56 +3,56 @@
def external_plugin_deps():
maven_jar(
name = "google-cloud-spanner-with-dependencies",
- sha1 = "76c3d421efd2f3ffc9208084b9bd822b5a5d9a9f",
- artifact = "com.google.cloud:google-cloud-spanner-jdbc:2.27.0:single-jar-with-dependencies",
+ artifact = "com.google.cloud:google-cloud-spanner-jdbc:2.33.1:single-jar-with-dependencies",
+ sha1 = "1c2210fbafd55cb70b225ad746d46f61e5cad75e",
)
- JACKSON_VER = "2.18.2"
+ JACKSON_VER = "2.20"
maven_jar(
name = "jackson-annotations",
artifact = "com.fasterxml.jackson.core:jackson-annotations:" + JACKSON_VER,
- sha1 = "985d77751ebc7fce5db115a986bc9aa82f973f4a",
+ sha1 = "6a5e7291ea3f2b590a7ce400adb7b3aea4d7e12c",
)
- TESTCONTAINERS_VERSION = "1.20.2"
+ TESTCONTAINERS_VERSION = "1.21.3"
maven_jar(
name = "testcontainers",
artifact = "org.testcontainers:testcontainers:" + TESTCONTAINERS_VERSION,
- sha1 = "3b693fb878f88974ee07bd149fb0b75b0f2b5cf0",
+ sha1 = "aa3e792d2cf4598019933c42f1cfa55bd608ce8b",
)
maven_jar(
name = "testcontainer-gcloud",
artifact = "org.testcontainers:gcloud:" + TESTCONTAINERS_VERSION,
- sha1 = "fdefd8fd45206cd525b918e49dce84f6ca9a43eb",
+ sha1 = "5134c3849d2acb6979ac8e51e3a4ae52d799673a",
)
maven_jar(
name = "jna",
- artifact = "net.java.dev.jna:jna:5.13.0",
- sha1 = "1200e7ebeedbe0d10062093f32925a912020e747",
+ artifact = "net.java.dev.jna:jna:5.18.1",
+ sha1 = "b27ba04287cc4abe769642fe8318d39fc89bf937",
)
- DOCKER_JAVA_VERS = "3.4.0"
+ DOCKER_JAVA_VERS = "3.6.0"
maven_jar(
name = "docker-java-api",
artifact = "com.github.docker-java:docker-java-api:" + DOCKER_JAVA_VERS,
- sha1 = "9ef23dcc93693f15e69b64632be096c38e31bc44",
+ sha1 = "caeb5bee6a9c07bff31f73ace576436168e2aa47",
)
maven_jar(
name = "docker-java-transport",
artifact = "com.github.docker-java:docker-java-transport:" + DOCKER_JAVA_VERS,
- sha1 = "c058705684d782effc4b2edfdef1a87544ba4af8",
+ sha1 = "d522c467aad17fd927e0db0130d2849a321a36aa",
)
maven_jar(
name = "docker-java-transport-zerodep",
artifact = "com.github.docker-java:docker-java-transport-zerodep:" + DOCKER_JAVA_VERS,
- sha1 = "c4ce6d8695cfdb0027872f99cc20f8f679f8a969",
+ sha1 = "549f4985f9c7714deff47d1041603e85e132d184",
)
maven_jar(
diff --git a/src/test/java/com/googlesource/gerrit/plugins/spannerrefdb/EmulatedSpannerRefDb.java b/src/test/java/com/googlesource/gerrit/plugins/spannerrefdb/EmulatedSpannerRefDb.java
index c5aa09b..c5566d2 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/spannerrefdb/EmulatedSpannerRefDb.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/spannerrefdb/EmulatedSpannerRefDb.java
@@ -52,7 +52,7 @@
public EmulatedSpannerRefDb() throws Exception {
container =
new SpannerEmulatorContainer(
- DockerImageName.parse("gcr.io/cloud-spanner-emulator/emulator").withTag("1.5.9"));
+ DockerImageName.parse("gcr.io/cloud-spanner-emulator/emulator").withTag("1.5.42"));
container.start();
System.out.println(
String.format(
diff --git a/src/test/java/com/googlesource/gerrit/plugins/spannerrefdb/LockTest.java b/src/test/java/com/googlesource/gerrit/plugins/spannerrefdb/LockTest.java
index a88052b..f8210db 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/spannerrefdb/LockTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/spannerrefdb/LockTest.java
@@ -113,8 +113,8 @@
@Test
public void reclaimFreshLockedRef_Rejected() throws Exception {
- Timestamp freshTimestamp = Timestamp.now();
- insertLockRow(PROJECT_NAME_KEY, REF_NAME, freshTimestamp);
+ // use COMMIT_TIMESTAMP to avoid races between spanner emulator and local clock
+ insertLockRow(PROJECT_NAME_KEY, REF_NAME, Value.COMMIT_TIMESTAMP);
GlobalRefDbLockException e =
assertThrows(
GlobalRefDbLockException.class, () -> refDb.lockRef(PROJECT_NAME_KEY, REF_NAME));