From 1abfcd932c57fe6efafedffa005c6d6119310539 Mon Sep 17 00:00:00 2001 From: Olav Loite Date: Thu, 10 Dec 2020 12:18:19 +0100 Subject: [PATCH 1/2] test: fix test that would not run on both emulator and real Spanner --- .../it/ITTransactionManagerAsyncTest.java | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/it/ITTransactionManagerAsyncTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/it/ITTransactionManagerAsyncTest.java index 7b4f340f0b2..8079d2ebfc0 100644 --- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/it/ITTransactionManagerAsyncTest.java +++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/it/ITTransactionManagerAsyncTest.java @@ -48,10 +48,10 @@ import java.util.concurrent.ExecutionException; import java.util.concurrent.Executor; import java.util.concurrent.Executors; -import org.junit.After; import org.junit.Before; import org.junit.BeforeClass; import org.junit.ClassRule; +import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @@ -76,8 +76,8 @@ public static Collection data() { @ClassRule public static IntegrationTestEnv env = new IntegrationTestEnv(); private static Database db; - private Spanner spanner; - private DatabaseClient client; + private static Spanner spanner; + private static DatabaseClient client; @BeforeClass public static void setUpDatabase() { @@ -89,20 +89,15 @@ public static void setUpDatabase() { + " K STRING(MAX) NOT NULL," + " BoolValue BOOL," + ") PRIMARY KEY (K)"); + spanner = env.getTestHelper().getClient(); + client = spanner.getDatabaseClient(db.getId()); } @Before public void clearTable() { - spanner = env.getTestHelper().getClient(); - client = spanner.getDatabaseClient(db.getId()); client.write(ImmutableList.of(Mutation.delete("T", KeySet.all()))); } - @After - public void closeSpanner() { - spanner.close(); - } - @Test public void testSimpleInsert() throws ExecutionException, InterruptedException { try (AsyncTransactionManager manager = client.transactionManagerAsync()) { @@ -224,6 +219,8 @@ public ApiFuture apply(TransactionContext txn, Void input) throws Exceptio } } + @Ignore( + "Cloud Spanner now seems to return CANCELLED instead of ABORTED when a transaction is invalidated by a later transaction in the same session") @Test public void testAbortAndRetry() throws InterruptedException, ExecutionException { assumeFalse( From e18ebd8e4355938bf755aaf9964b91d85320232f Mon Sep 17 00:00:00 2001 From: Olav Loite Date: Thu, 10 Dec 2020 12:19:55 +0100 Subject: [PATCH 2/2] fix: add category to test to ensure it's executed --- .../google/cloud/spanner/it/ITTransactionManagerAsyncTest.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/it/ITTransactionManagerAsyncTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/it/ITTransactionManagerAsyncTest.java index 8079d2ebfc0..f487fe4b0b9 100644 --- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/it/ITTransactionManagerAsyncTest.java +++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/it/ITTransactionManagerAsyncTest.java @@ -36,6 +36,7 @@ import com.google.cloud.spanner.Key; import com.google.cloud.spanner.KeySet; import com.google.cloud.spanner.Mutation; +import com.google.cloud.spanner.ParallelIntegrationTest; import com.google.cloud.spanner.Spanner; import com.google.cloud.spanner.SpannerException; import com.google.cloud.spanner.Struct; @@ -53,12 +54,14 @@ import org.junit.ClassRule; import org.junit.Ignore; import org.junit.Test; +import org.junit.experimental.categories.Category; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameter; import org.junit.runners.Parameterized.Parameters; @RunWith(Parameterized.class) +@Category(ParallelIntegrationTest.class) public class ITTransactionManagerAsyncTest { @Parameter(0)