From 887c1086eec5779e297f4df56546cd2af6428d1a Mon Sep 17 00:00:00 2001 From: Pavel Tupitsyn Date: Mon, 23 Oct 2023 08:14:09 +0300 Subject: [PATCH 1/2] IGNITE-20576 Rework testGetReturningTupleWithUnknownSchemaRequestsNewSchema https://issues.apache.org/jira/browse/IGNITE-20576 --- .../src/test/java/org/apache/ignite/client/ClientTableTest.java | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/client/src/test/java/org/apache/ignite/client/ClientTableTest.java b/modules/client/src/test/java/org/apache/ignite/client/ClientTableTest.java index 2d58f645f80..a17fef4bfcf 100644 --- a/modules/client/src/test/java/org/apache/ignite/client/ClientTableTest.java +++ b/modules/client/src/test/java/org/apache/ignite/client/ClientTableTest.java @@ -111,7 +111,6 @@ public void testUpsertGetAsync() { } @Test - @Disabled("IGNITE-20576") public void testGetReturningTupleWithUnknownSchemaRequestsNewSchema() throws Exception { FakeSchemaRegistry.setLastVer(2); From 14ee06f1ded9161830c6ff622296172b658d8e4a Mon Sep 17 00:00:00 2001 From: Pavel Tupitsyn Date: Mon, 23 Oct 2023 10:54:44 +0300 Subject: [PATCH 2/2] Fix test --- .../apache/ignite/client/ClientTableTest.java | 25 ++++++++----------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/modules/client/src/test/java/org/apache/ignite/client/ClientTableTest.java b/modules/client/src/test/java/org/apache/ignite/client/ClientTableTest.java index a17fef4bfcf..77a5ab7f487 100644 --- a/modules/client/src/test/java/org/apache/ignite/client/ClientTableTest.java +++ b/modules/client/src/test/java/org/apache/ignite/client/ClientTableTest.java @@ -41,7 +41,6 @@ import org.apache.ignite.table.RecordView; import org.apache.ignite.table.Table; import org.apache.ignite.table.Tuple; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; /** @@ -112,25 +111,23 @@ public void testUpsertGetAsync() { @Test public void testGetReturningTupleWithUnknownSchemaRequestsNewSchema() throws Exception { - FakeSchemaRegistry.setLastVer(2); + var embeddedView = defaultTable().recordView(); - var table = defaultTable(); - var recView = table.recordView(); - Tuple tuple = tuple(); - recView.upsert(null, tuple); + try (var client2 = startClient()) { + // Upsert from client, which will cache schema version 1. + FakeSchemaRegistry.setLastVer(1); + RecordView clientView = client2.tables().table(DEFAULT_TABLE).recordView(); + clientView.upsert(null, tuple(-1L)); - FakeSchemaRegistry.setLastVer(1); + // Upsert from server with schema version 2. + FakeSchemaRegistry.setLastVer(2); + embeddedView.upsert(null, tuple()); - try (var client2 = startClient()) { - RecordView table2 = client2.tables().table(table.name()).recordView(); - var resTuple = table2.get(null, tuple); + // Get from client, which should force schema update and retry. + var resTuple = clientView.get(null, defaultTupleKey()); - assertEquals(2, tuple.columnCount()); assertEquals(3, resTuple.columnCount()); - - assertEquals(-1, tuple.columnIndex("XYZ")); assertEquals(2, resTuple.columnIndex("XYZ")); - assertEquals(DEFAULT_NAME, resTuple.stringValue("name")); assertEquals(DEFAULT_ID, resTuple.longValue("id")); }