This is an automated email from the ASF dual-hosted git repository.
ptupitsyn pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git
The following commit(s) were added to refs/heads/main by this push:
new 56fd82711f2 IGNITE-28320 Move client integration tests to
ignite-client module (#7832)
56fd82711f2 is described below
commit 56fd82711f2bb38ae9ba76df2cc44f8987062b7d
Author: Maksim Myskov <[email protected]>
AuthorDate: Mon Mar 23 15:15:01 2026 +0300
IGNITE-28320 Move client integration tests to ignite-client module (#7832)
Test duration:
Before
Integration Runner - ~26 mins
All Other tests - 10 mins
After
Integration Runner - ~16 mins
All other tests - 17 mins
---
modules/client/build.gradle | 28 +++
.../internal}/client/ItAbstractThinClientTest.java | 2 +-
.../internal/client/ItClientDirectMappingTest.java | 0
.../client/ItClientGetTableSchemaTest.java | 0
.../client/ItClientObservableTimeTest.java | 0
.../client/ItCustomKeyColumnOrderClientTest.java | 2 +-
.../client/ItCustomKeyColumnOrderEmbeddedTest.java | 2 +-
.../client/ItNullsEmbeddedClientTest.java | 2 +-
.../internal}/client/ItNullsThinClientTest.java | 2 +-
.../client/ItThinClientAuthenticationTest.java | 2 +-
.../client/ItThinClientChannelValidatorTest.java | 2 +-
.../client/ItThinClientComputeMarshallingTest.java | 2 +-
.../internal}/client/ItThinClientComputeTest.java | 218 ++++-----------------
...tThinClientComputeTypeCheckMarshallingTest.java | 2 +-
.../client/ItThinClientConnectionTest.java | 4 +-
.../client/ItThinClientDdlQueriesTrackerTest.java | 2 +-
.../ItThinClientMarshallingEmbeddedTest.java | 2 +-
.../client/ItThinClientMarshallingTest.java | 8 +-
.../client/ItThinClientMultistatementSqlTest.java | 2 +-
.../client/ItThinClientObservationTsTest.java | 3 +-
.../client/ItThinClientPartitionAwarenessTest.java | 4 +-
.../ItThinClientPojoComputeMarshallingTest.java | 2 +-
.../ItThinClientSchemaSynchronizationTest.java | 6 +-
.../internal}/client/ItThinClientSqlTest.java | 2 +-
.../client/ItThinClientTablesGetListTest.java | 2 +-
.../internal}/client/ItThinClientTablesTest.java | 2 +-
.../client/ItThinClientTransactionCleanupTest.java | 4 +-
.../client/ItThinClientTransactionsTest.java | 7 +-
...ClientTransactionsWithBrokenReplicatorTest.java | 4 +-
.../ItThinClientTransactionsWithReplicasTest.java | 4 +-
.../ItThinClientTupleComputeMarshallingTest.java | 2 +-
.../ItThinClientUninitializedClusterTest.java | 2 +-
.../client/ItThinConnectionFailoverTest.java | 2 +-
.../internal}/client/proxy/IgniteClientProxy.java | 2 +-
.../proxy/IgniteClientProxyBackendHandler.java | 2 +-
.../proxy/IgniteClientProxyFrontendHandler.java | 2 +-
.../client/proxy/IgniteClientProxyInitializer.java | 2 +-
.../streamer/ItAbstractDataStreamerTest.java | 7 +-
.../streamer/ItClientDataStreamerLoadTest.java | 0
.../streamer/ItClientDataStreamerTest.java | 0
.../streamer/ItServerDataStreamerTest.java | 0
.../cpp/tests/client-test/compute_test.cpp | 2 +-
.../cpp/tests/client-test/ignite_runner_suite.h | 19 +-
.../Compute/PlatformJobBenchmarks.cs | 2 +-
.../Apache.Ignite.Tests.Common/Compute/JavaJobs.cs | 22 +--
.../Apache.Ignite.Tests/Compute/ComputeTests.cs | 4 +-
.../apache/ignite/internal/runner/app/Jobs.java | 155 +++++++++++++++
47 files changed, 293 insertions(+), 254 deletions(-)
diff --git a/modules/client/build.gradle b/modules/client/build.gradle
index 1aefe0f95b2..0b9d425be0f 100644
--- a/modules/client/build.gradle
+++ b/modules/client/build.gradle
@@ -18,6 +18,7 @@
apply from: "$rootDir/buildscripts/java-core.gradle"
apply from: "$rootDir/buildscripts/publishing.gradle"
apply from: "$rootDir/buildscripts/java-junit5.gradle"
+apply from: "$rootDir/buildscripts/java-integration-test.gradle"
dependencies {
api project(':ignite-api')
@@ -72,6 +73,33 @@ dependencies {
testImplementation libs.archunit.junit5
testImplementation libs.jmh.core
testImplementation libs.awaitility
+
+ integrationTestImplementation project(':ignite-catalog')
+ integrationTestImplementation project(':ignite-client-common')
+ integrationTestImplementation project(':ignite-client-handler')
+ integrationTestImplementation project(':ignite-configuration')
+ integrationTestImplementation project(':ignite-configuration-api')
+ integrationTestImplementation project(':ignite-configuration-root')
+ integrationTestImplementation project(':ignite-core')
+ integrationTestImplementation project(':ignite-eventlog')
+ integrationTestImplementation project(':ignite-network-api')
+ integrationTestImplementation project(':ignite-raft-api')
+ integrationTestImplementation project(':ignite-raft')
+ integrationTestImplementation project(':ignite-replicator')
+ integrationTestImplementation project(':ignite-runner')
+ integrationTestImplementation project(':ignite-security')
+ integrationTestImplementation project(':ignite-security-api')
+ integrationTestImplementation project(':ignite-sql-engine')
+ integrationTestImplementation project(':ignite-sql-engine-api')
+ integrationTestImplementation project(':ignite-system-view-api')
+ integrationTestImplementation project(':ignite-transactions')
+ integrationTestImplementation testFixtures(project(':ignite-core'))
+ integrationTestImplementation testFixtures(project(':ignite-runner'))
+ integrationTestImplementation testFixtures(project(':ignite-sql-engine'))
+ integrationTestImplementation libs.awaitility
+ integrationTestImplementation libs.netty.handler
+ integrationTestImplementation libs.netty.transport
+ integrationTestImplementation libs.typesafe.config
}
def archTestDir = "$buildDir/archtest"
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItAbstractThinClientTest.java
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItAbstractThinClientTest.java
similarity index 99%
rename from
modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItAbstractThinClientTest.java
rename to
modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItAbstractThinClientTest.java
index cd2af11cb95..2e644b2fd18 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItAbstractThinClientTest.java
+++
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItAbstractThinClientTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.runner.app.client;
+package org.apache.ignite.internal.client;
import static java.util.stream.Collectors.toList;
import static org.apache.ignite.internal.TestWrappers.unwrapIgniteImpl;
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/client/ItClientDirectMappingTest.java
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItClientDirectMappingTest.java
similarity index 100%
rename from
modules/runner/src/integrationTest/java/org/apache/ignite/internal/client/ItClientDirectMappingTest.java
rename to
modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItClientDirectMappingTest.java
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/client/ItClientGetTableSchemaTest.java
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItClientGetTableSchemaTest.java
similarity index 100%
rename from
modules/runner/src/integrationTest/java/org/apache/ignite/internal/client/ItClientGetTableSchemaTest.java
rename to
modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItClientGetTableSchemaTest.java
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/client/ItClientObservableTimeTest.java
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItClientObservableTimeTest.java
similarity index 100%
rename from
modules/runner/src/integrationTest/java/org/apache/ignite/internal/client/ItClientObservableTimeTest.java
rename to
modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItClientObservableTimeTest.java
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItCustomKeyColumnOrderClientTest.java
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItCustomKeyColumnOrderClientTest.java
similarity index 99%
rename from
modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItCustomKeyColumnOrderClientTest.java
rename to
modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItCustomKeyColumnOrderClientTest.java
index 45fc1c1a8f9..166569bed2e 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItCustomKeyColumnOrderClientTest.java
+++
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItCustomKeyColumnOrderClientTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.runner.app.client;
+package org.apache.ignite.internal.client;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItCustomKeyColumnOrderEmbeddedTest.java
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItCustomKeyColumnOrderEmbeddedTest.java
similarity index 95%
rename from
modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItCustomKeyColumnOrderEmbeddedTest.java
rename to
modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItCustomKeyColumnOrderEmbeddedTest.java
index 3f7bc291396..5b7e0840424 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItCustomKeyColumnOrderEmbeddedTest.java
+++
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItCustomKeyColumnOrderEmbeddedTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.runner.app.client;
+package org.apache.ignite.internal.client;
import org.apache.ignite.Ignite;
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItNullsEmbeddedClientTest.java
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItNullsEmbeddedClientTest.java
similarity index 95%
rename from
modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItNullsEmbeddedClientTest.java
rename to
modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItNullsEmbeddedClientTest.java
index 567b4a41011..550af3f2035 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItNullsEmbeddedClientTest.java
+++
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItNullsEmbeddedClientTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.runner.app.client;
+package org.apache.ignite.internal.client;
import org.apache.ignite.Ignite;
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItNullsThinClientTest.java
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItNullsThinClientTest.java
similarity index 98%
rename from
modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItNullsThinClientTest.java
rename to
modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItNullsThinClientTest.java
index b175a1baf8f..3479c0e261b 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItNullsThinClientTest.java
+++
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItNullsThinClientTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.runner.app.client;
+package org.apache.ignite.internal.client;
import static
org.apache.ignite.internal.testframework.IgniteTestUtils.assertThrows;
import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientAuthenticationTest.java
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientAuthenticationTest.java
similarity index 99%
rename from
modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientAuthenticationTest.java
rename to
modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientAuthenticationTest.java
index 4a79cf91d5a..4e8cc7b754e 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientAuthenticationTest.java
+++
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientAuthenticationTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.runner.app.client;
+package org.apache.ignite.internal.client;
import static org.apache.ignite.internal.TestWrappers.unwrapIgniteImpl;
import static
org.apache.ignite.internal.configuration.hocon.HoconConverter.hoconSource;
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientChannelValidatorTest.java
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientChannelValidatorTest.java
similarity index 99%
rename from
modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientChannelValidatorTest.java
rename to
modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientChannelValidatorTest.java
index 47bcaf85fa8..42325e38daa 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientChannelValidatorTest.java
+++
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientChannelValidatorTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.runner.app.client;
+package org.apache.ignite.internal.client;
import static java.util.stream.Collectors.toList;
import static
org.apache.ignite.client.IgniteClientConfiguration.DFLT_BACKGROUND_RECONNECT_INTERVAL;
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientComputeMarshallingTest.java
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientComputeMarshallingTest.java
similarity index 99%
rename from
modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientComputeMarshallingTest.java
rename to
modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientComputeMarshallingTest.java
index 17945775242..d222cc230dc 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientComputeMarshallingTest.java
+++
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientComputeMarshallingTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.runner.app.client;
+package org.apache.ignite.internal.client;
import static org.apache.ignite.catalog.definitions.ColumnDefinition.column;
import static org.hamcrest.CoreMatchers.equalTo;
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientComputeTest.java
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientComputeTest.java
similarity index 83%
rename from
modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientComputeTest.java
rename to
modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientComputeTest.java
index 55d95d92b87..823e46366c3 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientComputeTest.java
+++
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientComputeTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.runner.app.client;
+package org.apache.ignite.internal.client;
import static java.util.concurrent.CompletableFuture.completedFuture;
import static java.util.concurrent.CompletableFuture.failedFuture;
@@ -61,7 +61,6 @@ import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
-import java.util.Arrays;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
@@ -95,6 +94,7 @@ import org.apache.ignite.compute.task.TaskExecution;
import org.apache.ignite.compute.task.TaskExecutionContext;
import org.apache.ignite.deployment.DeploymentUnit;
import org.apache.ignite.internal.compute.JobTaskStatusMapper;
+import org.apache.ignite.internal.runner.app.Jobs;
import org.apache.ignite.internal.testframework.IgniteTestUtils;
import org.apache.ignite.lang.CancelHandle;
import org.apache.ignite.lang.Cursor;
@@ -115,8 +115,6 @@ import org.junit.jupiter.params.provider.ValueSource;
*/
@SuppressWarnings("resource")
public class ItThinClientComputeTest extends ItAbstractThinClientTest {
- /** Test trace id. */
- private static final UUID TRACE_ID = UUID.randomUUID();
@Test
void testClusterNodes() {
@@ -136,10 +134,10 @@ public class ItThinClientComputeTest extends
ItAbstractThinClientTest {
@Test
void testExecuteOnSpecificNode() {
String res1 = client().compute().execute(
- JobTarget.node(node(0)),
JobDescriptor.builder(NodeNameJob.class).build(), null
+ JobTarget.node(node(0)),
JobDescriptor.builder(Jobs.NodeNameJob.class).build(), null
);
String res2 = client().compute().execute(
- JobTarget.node(node(1)),
JobDescriptor.builder(NodeNameJob.class).build(), null
+ JobTarget.node(node(1)),
JobDescriptor.builder(Jobs.NodeNameJob.class).build(), null
);
assertEquals("itcct_n_3344", res1);
@@ -236,10 +234,10 @@ public class ItThinClientComputeTest extends
ItAbstractThinClientTest {
@Test
void testExecuteOnSpecificNodeAsync() {
JobExecution<String> execution1 = submit(
- JobTarget.node(node(0)),
JobDescriptor.builder(NodeNameJob.class).build(), null
+ JobTarget.node(node(0)),
JobDescriptor.builder(Jobs.NodeNameJob.class).build(), null
);
JobExecution<String> execution2 = submit(
- JobTarget.node(node(1)),
JobDescriptor.builder(NodeNameJob.class).build(), null
+ JobTarget.node(node(1)),
JobDescriptor.builder(Jobs.NodeNameJob.class).build(), null
);
assertThat(execution1.resultAsync(), willBe("itcct_n_3344"));
@@ -254,7 +252,7 @@ public class ItThinClientComputeTest extends
ItAbstractThinClientTest {
CancelHandle cancelHandle = CancelHandle.create();
JobExecution<String> execution = submit(
JobTarget.node(node(0)),
- JobDescriptor.builder(NodeNameJob.class).build(),
+ JobDescriptor.builder(Jobs.NodeNameJob.class).build(),
cancelHandle.token(),
null
);
@@ -270,7 +268,7 @@ public class ItThinClientComputeTest extends
ItAbstractThinClientTest {
void testChangingPriorityCompletedJob() {
JobExecution<String> execution = submit(
JobTarget.node(node(0)),
- JobDescriptor.builder(NodeNameJob.class).build(), null
+ JobDescriptor.builder(Jobs.NodeNameJob.class).build(), null
);
assertThat(execution.resultAsync(), willBe("itcct_n_3344"));
@@ -285,7 +283,7 @@ public class ItThinClientComputeTest extends
ItAbstractThinClientTest {
void testCancelOnSpecificNodeAsync(boolean asyncJob) {
int sleepMs = 1_000_000;
JobDescriptor<Integer, Void> sleepJob = JobDescriptor
- .builder(asyncJob ? AsyncSleepJob.class : SleepJob.class)
+ .builder(asyncJob ? AsyncSleepJob.class : Jobs.SleepJob.class)
.build();
CancelHandle cancelHandle = CancelHandle.create();
@@ -304,7 +302,7 @@ public class ItThinClientComputeTest extends
ItAbstractThinClientTest {
@Test
void changeJobPriority() {
int sleepMs = 1_000_000;
- JobDescriptor<Integer, Void> sleepJob =
JobDescriptor.builder(SleepJob.class).build();
+ JobDescriptor<Integer, Void> sleepJob =
JobDescriptor.builder(Jobs.SleepJob.class).build();
JobTarget target = JobTarget.node(node(0));
// Start 1 task in executor with 1 thread
@@ -344,7 +342,8 @@ public class ItThinClientComputeTest extends
ItAbstractThinClientTest {
@Test
void testExecuteOnRandomNode() {
- String res =
client().compute().execute(JobTarget.anyNode(sortedNodes()),
JobDescriptor.builder(NodeNameJob.class).build(), null);
+ String res = client().compute()
+ .execute(JobTarget.anyNode(sortedNodes()),
JobDescriptor.builder(Jobs.NodeNameJob.class).build(), null);
assertTrue(Set.of("itcct_n_3344", "itcct_n_3345").contains(res));
}
@@ -352,7 +351,7 @@ public class ItThinClientComputeTest extends
ItAbstractThinClientTest {
@Test
void testExecuteOnRandomNodeAsync() {
JobExecution<String> execution = submit(
- JobTarget.anyNode(sortedNodes()),
JobDescriptor.builder(NodeNameJob.class).build(), null);
+ JobTarget.anyNode(sortedNodes()),
JobDescriptor.builder(Jobs.NodeNameJob.class).build(), null);
assertThat(
execution.resultAsync(),
@@ -365,7 +364,7 @@ public class ItThinClientComputeTest extends
ItAbstractThinClientTest {
void testBroadcastOneNode() {
BroadcastExecution<String> broadcastExecution = submit(
Set.of(node(1)),
- JobDescriptor.builder(NodeNameJob.class).build(),
+ JobDescriptor.builder(Jobs.NodeNameJob.class).build(),
null
);
@@ -378,7 +377,7 @@ public class ItThinClientComputeTest extends
ItAbstractThinClientTest {
void testBroadcastAllNodes() {
BroadcastExecution<String> broadcastExecution = submit(
new HashSet<>(sortedNodes()),
- JobDescriptor.builder(NodeNameJob.class).build(),
+ JobDescriptor.builder(Jobs.NodeNameJob.class).build(),
null
);
@@ -395,7 +394,7 @@ public class ItThinClientComputeTest extends
ItAbstractThinClientTest {
BroadcastExecution<Void> broadcastExecution = submit(
new HashSet<>(sortedNodes()),
- JobDescriptor.builder(SleepJob.class).build(),
+ JobDescriptor.builder(Jobs.SleepJob.class).build(),
cancelHandle.token(),
sleepMs
);
@@ -420,7 +419,7 @@ public class ItThinClientComputeTest extends
ItAbstractThinClientTest {
@Test
void testExecuteWithArgs() {
JobExecution<String> execution = submit(
- JobTarget.anyNode(client().cluster().nodes()),
JobDescriptor.builder(ConcatJob.class).build(),
+ JobTarget.anyNode(client().cluster().nodes()),
JobDescriptor.builder(Jobs.ConcatJob.class).build(),
"1:2:3.3"
);
@@ -431,13 +430,13 @@ public class ItThinClientComputeTest extends
ItAbstractThinClientTest {
@Test
void
testIgniteExceptionInJobPropagatesToClientWithMessageAndCodeAndTraceIdAsync() {
IgniteException cause = getExceptionInJobExecutionAsync(
- submit(JobTarget.node(node(0)),
JobDescriptor.builder(IgniteExceptionJob.class).build(), null)
+ submit(JobTarget.node(node(0)),
JobDescriptor.builder(Jobs.IgniteExceptionJob.class).build(), null)
);
assertThat(cause.getMessage(), containsString("Custom job error"));
- assertEquals(TRACE_ID, cause.traceId());
+ assertEquals(Jobs.TRACE_ID, cause.traceId());
assertEquals(COLUMN_NOT_FOUND_ERR, cause.code());
- assertInstanceOf(CustomException.class, cause);
+ assertInstanceOf(Jobs.CustomException.class, cause);
assertNotNull(cause.getCause());
String hint = cause.getCause().getMessage();
@@ -447,13 +446,14 @@ public class ItThinClientComputeTest extends
ItAbstractThinClientTest {
@Test
void
testIgniteExceptionInJobPropagatesToClientWithMessageAndCodeAndTraceIdSync() {
IgniteException cause = getExceptionInJobExecutionSync(
- () -> client().compute().execute(JobTarget.node(node(0)),
JobDescriptor.builder(IgniteExceptionJob.class).build(), null)
+ () -> client().compute()
+ .execute(JobTarget.node(node(0)),
JobDescriptor.builder(Jobs.IgniteExceptionJob.class).build(), null)
);
assertThat(cause.getMessage(), containsString("Custom job error"));
- assertEquals(TRACE_ID, cause.traceId());
+ assertEquals(Jobs.TRACE_ID, cause.traceId());
assertEquals(COLUMN_NOT_FOUND_ERR, cause.code());
- assertInstanceOf(CustomException.class, cause);
+ assertInstanceOf(Jobs.CustomException.class, cause);
assertNotNull(cause.getCause());
String hint = cause.getCause().getMessage();
@@ -672,7 +672,7 @@ public class ItThinClientComputeTest extends
ItAbstractThinClientTest {
assertThat(cause.getCause().getMessage(), containsString(
"Caused by: java.lang.ArithmeticException: math err" +
System.lineSeparator()
- + "\tat
org.apache.ignite.internal.runner.app.client.ItThinClientComputeTest$"
+ + "\tat
org.apache.ignite.internal.client.ItThinClientComputeTest$"
+
"ExceptionJob.executeAsync(ItThinClientComputeTest.java:")
);
}
@@ -683,7 +683,7 @@ public class ItThinClientComputeTest extends
ItAbstractThinClientTest {
var keyTuple = Tuple.create().set(COLUMN_KEY, key);
JobExecution<String> tupleExecution = submit(
- JobTarget.colocated(TABLE_NAME, keyTuple),
JobDescriptor.builder(NodeNameJob.class).build(), null
+ JobTarget.colocated(TABLE_NAME, keyTuple),
JobDescriptor.builder(Jobs.NodeNameJob.class).build(), null
);
String expectedNode = "itcct_n_" + port;
@@ -699,7 +699,7 @@ public class ItThinClientComputeTest extends
ItAbstractThinClientTest {
Mapper<TestPojo> keyMapper = Mapper.of(TestPojo.class);
JobExecution<String> pojoExecution = submit(
- JobTarget.colocated(TABLE_NAME, keyPojo, keyMapper),
JobDescriptor.builder(NodeNameJob.class).build(), null);
+ JobTarget.colocated(TABLE_NAME, keyPojo, keyMapper),
JobDescriptor.builder(Jobs.NodeNameJob.class).build(), null);
String expectedNode = "itcct_n_" + port;
assertThat(pojoExecution.resultAsync(), willBe(expectedNode));
@@ -716,7 +716,7 @@ public class ItThinClientComputeTest extends
ItAbstractThinClientTest {
CancelHandle cancelHandle = CancelHandle.create();
JobExecution<Void> tupleExecution = submit(
JobTarget.colocated(TABLE_NAME, keyTuple),
- JobDescriptor.builder(SleepJob.class).build(),
+ JobDescriptor.builder(Jobs.SleepJob.class).build(),
cancelHandle.token(),
sleepMs
);
@@ -738,7 +738,7 @@ public class ItThinClientComputeTest extends
ItAbstractThinClientTest {
CancelHandle cancelHandle = CancelHandle.create();
JobExecution<Void> pojoExecution = submit(
JobTarget.colocated(TABLE_NAME, keyPojo, keyMapper),
- JobDescriptor.builder(SleepJob.class).build(),
+ JobDescriptor.builder(Jobs.SleepJob.class).build(),
cancelHandle.token(),
sleepMs
);
@@ -756,7 +756,7 @@ public class ItThinClientComputeTest extends
ItAbstractThinClientTest {
CompletionException.class,
() -> client().compute().executeAsync(
JobTarget.node(node(0)),
- JobDescriptor.builder(NodeNameJob.class)
+ JobDescriptor.builder(Jobs.NodeNameJob.class)
.units(List.of(new DeploymentUnit("u",
"latest")))
.build(),
null
@@ -776,7 +776,7 @@ public class ItThinClientComputeTest extends
ItAbstractThinClientTest {
CompletionException.class,
() -> client().compute().executeAsync(
JobTarget.colocated(TABLE_NAME,
Tuple.create().set(COLUMN_KEY, 1)),
- JobDescriptor.builder(NodeNameJob.class)
+ JobDescriptor.builder(Jobs.NodeNameJob.class)
.units(new DeploymentUnit("u", "latest"))
.build(),
null
@@ -796,7 +796,7 @@ public class ItThinClientComputeTest extends
ItAbstractThinClientTest {
try (IgniteClient client = builder.build()) {
int delayMs = 3000;
CompletableFuture<Void> jobFut = client.compute().executeAsync(
- JobTarget.node(node(0)),
JobDescriptor.builder(SleepJob.class).build(), delayMs);
+ JobTarget.node(node(0)),
JobDescriptor.builder(Jobs.SleepJob.class).build(), delayMs);
// Wait a bit and close the connection.
Thread.sleep(10);
@@ -831,7 +831,7 @@ public class ItThinClientComputeTest extends
ItAbstractThinClientTest {
Mapper<TestPojo> mapper = Mapper.of(TestPojo.class);
TestPojo pojoKey = new TestPojo(1);
Tuple tupleKey = Tuple.create().set("key", pojoKey.key);
- JobDescriptor<Object, String> job =
JobDescriptor.builder(NodeNameJob.class).build();
+ JobDescriptor<Object, String> job =
JobDescriptor.builder(Jobs.NodeNameJob.class).build();
var tupleRes =
client().compute().execute(JobTarget.colocated(tableName, tupleKey), job, null);
var pojoRes =
client().compute().execute(JobTarget.colocated(tableName, pojoKey, mapper),
job, null);
@@ -844,7 +844,7 @@ public class ItThinClientComputeTest extends
ItAbstractThinClientTest {
void testBigDecimalPropagation(String number, int scale) {
BigDecimal res = client().compute().execute(
JobTarget.node(node(0)),
- JobDescriptor.builder(DecimalJob.class).build(),
+ JobDescriptor.builder(Jobs.DecimalJob.class).build(),
number + "," + scale);
var expected = new BigDecimal(number).setScale(scale,
RoundingMode.HALF_UP);
@@ -853,7 +853,7 @@ public class ItThinClientComputeTest extends
ItAbstractThinClientTest {
@Test
void testExecuteMapReduce() throws Exception {
- TaskDescriptor<String, String> taskDescriptor =
TaskDescriptor.builder(MapReduceNodeNameTask.class).build();
+ TaskDescriptor<String, String> taskDescriptor =
TaskDescriptor.builder(Jobs.MapReduceNodeNameTask.class).build();
TaskExecution<String> execution =
client().compute().submitMapReduce(taskDescriptor, null);
List<Matcher<? super String>> nodeNames = sortedNodes().stream()
@@ -879,7 +879,7 @@ public class ItThinClientComputeTest extends
ItAbstractThinClientTest {
}
@ParameterizedTest
- @ValueSource(classes = {MapReduceExceptionOnSplitTask.class,
MapReduceExceptionOnReduceTask.class})
+ @ValueSource(classes = {Jobs.MapReduceExceptionOnSplitTask.class,
Jobs.MapReduceExceptionOnReduceTask.class})
<I, M, T> void testExecuteMapReduceExceptionPropagation(Class<? extends
MapReduceTask<I, M, T, String>> taskClass) {
// Task execution doesn't use preferred node name and will use
round-robin leading to random node selection
try (IgniteClient client =
IgniteClient.builder().addresses(getNodeAddress()).build()) {
@@ -887,9 +887,9 @@ public class ItThinClientComputeTest extends
ItAbstractThinClientTest {
IgniteException cause =
getExceptionInTaskExecutionAsync(client.compute().submitMapReduce(taskDescriptor,
null));
assertThat(cause.getMessage(), containsString("Custom job error"));
- assertEquals(TRACE_ID, cause.traceId());
+ assertEquals(Jobs.TRACE_ID, cause.traceId());
assertEquals(COLUMN_NOT_FOUND_ERR, cause.code());
- assertInstanceOf(CustomException.class, cause);
+ assertInstanceOf(Jobs.CustomException.class, cause);
assertNotNull(cause.getCause());
String hint = cause.getCause().getMessage();
@@ -928,7 +928,7 @@ public class ItThinClientComputeTest extends
ItAbstractThinClientTest {
}
private void testEchoArg(Object arg) {
- Object res = client().compute().execute(JobTarget.node(node(0)),
JobDescriptor.builder(EchoJob.class).build(), arg);
+ Object res = client().compute().execute(JobTarget.node(node(0)),
JobDescriptor.builder(Jobs.EchoJob.class).build(), arg);
if (arg instanceof byte[]) {
assertArrayEquals((byte[]) arg, (byte[]) res);
@@ -936,38 +936,10 @@ public class ItThinClientComputeTest extends
ItAbstractThinClientTest {
assertEquals(arg, res);
}
- String str = client().compute().execute(JobTarget.node(node(0)),
JobDescriptor.builder(ToStringJob.class).build(), arg);
+ String str = client().compute().execute(JobTarget.node(node(0)),
JobDescriptor.builder(Jobs.ToStringJob.class).build(), arg);
assertEquals(arg.toString(), str);
}
- private static class NodeNameJob implements ComputeJob<Object, String> {
- @Override
- public CompletableFuture<String> executeAsync(JobExecutionContext
context, Object arg) {
- return completedFuture(context.ignite().name() + (arg == null ? ""
: arg.toString()));
- }
- }
-
- private static class ConcatJob implements ComputeJob<String, String> {
- @Override
- public CompletableFuture<String> executeAsync(JobExecutionContext
context, String args) {
- if (args == null) {
- return nullCompletedFuture();
- }
-
- return completedFuture(
- Arrays.stream(args.split(":"))
- .map(o -> o == null ? "null" : o)
- .collect(Collectors.joining("_")));
- }
- }
-
- private static class IgniteExceptionJob implements ComputeJob<Object,
String> {
- @Override
- public CompletableFuture<String> executeAsync(JobExecutionContext
context, Object args) {
- throw new CustomException(TRACE_ID, COLUMN_NOT_FOUND_ERR, "Custom
job error", null);
- }
- }
-
private static class ExceptionJob implements ComputeJob<Boolean, String> {
@Override
public CompletableFuture<String> executeAsync(JobExecutionContext
context, Boolean arg) {
@@ -981,37 +953,6 @@ public class ItThinClientComputeTest extends
ItAbstractThinClientTest {
}
}
- private static class EchoJob implements ComputeJob<Object, Object> {
- @Override
- public CompletableFuture<Object> executeAsync(JobExecutionContext
context, Object arg) {
- return completedFuture(arg);
- }
- }
-
- private static class ToStringJob implements ComputeJob<Object, String> {
- @Override
- public CompletableFuture<String> executeAsync(JobExecutionContext
context, Object arg) {
- if (arg instanceof byte[]) {
- return completedFuture(Arrays.toString((byte[]) arg));
- }
-
- return completedFuture(arg.toString());
- }
- }
-
- private static class SleepJob implements ComputeJob<Integer, Void> {
- @Override
- public @Nullable CompletableFuture<Void>
executeAsync(JobExecutionContext context, Integer sleepMs) {
- try {
- Thread.sleep(sleepMs);
- } catch (InterruptedException e) {
- throw new RuntimeException(e);
- }
-
- return null;
- }
- }
-
private static class AsyncSleepJob implements ComputeJob<Integer, Void> {
@Override
public @Nullable CompletableFuture<Void>
executeAsync(JobExecutionContext context, Integer sleepMs) {
@@ -1032,42 +973,12 @@ public class ItThinClientComputeTest extends
ItAbstractThinClientTest {
}
}
- private static class DecimalJob implements ComputeJob<String, BigDecimal> {
- @Override
- public CompletableFuture<BigDecimal> executeAsync(JobExecutionContext
context, String arg) {
- @SuppressWarnings("DataFlowIssue")
- var args = arg.split(",", 2);
-
- return completedFuture(new
BigDecimal(args[0]).setScale(Integer.parseInt(args[1]), RoundingMode.HALF_UP));
- }
- }
-
- private static class MapReduceNodeNameTask implements
MapReduceTask<String, Object, String, String> {
- @Override
- public CompletableFuture<List<MapReduceJob<Object, String>>>
splitAsync(TaskExecutionContext context, String args) {
- return completedFuture(context.ignite().cluster().nodes().stream()
- .map(node -> MapReduceJob.<Object, String>builder()
-
.jobDescriptor(JobDescriptor.builder(NodeNameJob.class).build())
- .nodes(Set.of(node))
- .args(args)
- .build())
- .collect(Collectors.toList()));
- }
-
- @Override
- public CompletableFuture<String> reduceAsync(TaskExecutionContext
context, Map<UUID, String> results) {
- return completedFuture(results.values().stream()
- .map(String.class::cast)
- .collect(Collectors.joining(",")));
- }
- }
-
private static class MapReduceArgsTask implements MapReduceTask<String,
String, String, String> {
@Override
public CompletableFuture<List<MapReduceJob<String, String>>>
splitAsync(TaskExecutionContext context, String args) {
return completedFuture(context.ignite().cluster().nodes().stream()
.map(node -> MapReduceJob.<String, String>builder()
-
.jobDescriptor(JobDescriptor.builder(ConcatJob.class).build())
+
.jobDescriptor(JobDescriptor.builder(Jobs.ConcatJob.class).build())
.nodes(Set.of(node))
.args(args)
.build())
@@ -1082,37 +993,6 @@ public class ItThinClientComputeTest extends
ItAbstractThinClientTest {
}
}
- private static class MapReduceExceptionOnSplitTask implements
MapReduceTask<Object, Object, Object, String> {
- @Override
- public CompletableFuture<List<MapReduceJob<Object, Object>>>
splitAsync(TaskExecutionContext context, Object args) {
- throw new CustomException(TRACE_ID, COLUMN_NOT_FOUND_ERR, "Custom
job error", null);
- }
-
- @Override
- public CompletableFuture<String> reduceAsync(TaskExecutionContext
context, Map<UUID, Object> results) {
- return completedFuture("expected split exception");
- }
- }
-
- private static class MapReduceExceptionOnReduceTask implements
MapReduceTask<Object, Object, String, String> {
-
- @Override
- public CompletableFuture<List<MapReduceJob<Object, String>>>
splitAsync(TaskExecutionContext context, Object args) {
- return completedFuture(context.ignite().cluster().nodes().stream()
- .map(node -> MapReduceJob.<Object, String>builder()
-
.jobDescriptor(JobDescriptor.builder(NodeNameJob.class).build())
- .nodes(Set.of(node))
- .args(args)
- .build())
- .collect(Collectors.toList()));
- }
-
- @Override
- public CompletableFuture<String> reduceAsync(TaskExecutionContext
context, Map<UUID, String> results) {
- throw new CustomException(TRACE_ID, COLUMN_NOT_FOUND_ERR, "Custom
job error", null);
- }
- }
-
private static class InfiniteJob implements ComputeJob<Object, Void> {
@Override
public CompletableFuture<Void> executeAsync(JobExecutionContext
context, Object ignored) {
@@ -1125,15 +1005,6 @@ public class ItThinClientComputeTest extends
ItAbstractThinClientTest {
}
}
- /**
- * Custom public exception class.
- */
- public static class CustomException extends IgniteException {
- public CustomException(UUID traceId, int code, String message,
Throwable cause) {
- super(traceId, code, message, cause);
- }
- }
-
private static class InfiniteMapReduceTask implements MapReduceTask<Void,
Void, Void, Void> {
@Override
public CompletableFuture<List<MapReduceJob<Void, Void>>>
splitAsync(TaskExecutionContext taskContext, Void input) {
@@ -1174,11 +1045,4 @@ public class ItThinClientComputeTest extends
ItAbstractThinClientTest {
}
}
- /** Simple job which always returns null value. */
- public static class ReturnNullJob implements ComputeJob<Void, String> {
- @Override
- public @Nullable CompletableFuture<String>
executeAsync(JobExecutionContext context, @Nullable Void arg) {
- return null;
- }
- }
}
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientComputeTypeCheckMarshallingTest.java
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientComputeTypeCheckMarshallingTest.java
similarity index 99%
rename from
modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientComputeTypeCheckMarshallingTest.java
rename to
modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientComputeTypeCheckMarshallingTest.java
index d7c815c8572..3463cc2e1d7 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientComputeTypeCheckMarshallingTest.java
+++
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientComputeTypeCheckMarshallingTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.runner.app.client;
+package org.apache.ignite.internal.client;
import static java.util.concurrent.CompletableFuture.completedFuture;
import static org.apache.ignite.compute.JobStatus.COMPLETED;
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientConnectionTest.java
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientConnectionTest.java
similarity index 97%
rename from
modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientConnectionTest.java
rename to
modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientConnectionTest.java
index 17d13be9bd2..99ffd6216fd 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientConnectionTest.java
+++
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientConnectionTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.runner.app.client;
+package org.apache.ignite.internal.client;
import static
org.apache.ignite.internal.eventlog.api.IgniteEventType.CLIENT_CONNECTION_CLOSED;
import static
org.apache.ignite.internal.eventlog.api.IgniteEventType.CLIENT_CONNECTION_ESTABLISHED;
@@ -35,8 +35,6 @@ import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
import org.apache.ignite.client.IgniteClient;
-import org.apache.ignite.internal.client.ClientChannel;
-import org.apache.ignite.internal.client.TcpIgniteClient;
import org.apache.ignite.internal.testframework.WorkDirectoryExtension;
import org.apache.ignite.internal.testframework.log4j2.EventLogInspector;
import org.apache.ignite.lang.IgniteException;
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientDdlQueriesTrackerTest.java
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientDdlQueriesTrackerTest.java
similarity index 99%
rename from
modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientDdlQueriesTrackerTest.java
rename to
modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientDdlQueriesTrackerTest.java
index 165d683b1f2..70c2613dcdb 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientDdlQueriesTrackerTest.java
+++
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientDdlQueriesTrackerTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.runner.app.client;
+package org.apache.ignite.internal.client;
import static org.apache.ignite.internal.TestWrappers.unwrapIgniteImpl;
import static org.apache.ignite.internal.testframework.IgniteTestUtils.await;
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientMarshallingEmbeddedTest.java
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientMarshallingEmbeddedTest.java
similarity index 95%
rename from
modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientMarshallingEmbeddedTest.java
rename to
modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientMarshallingEmbeddedTest.java
index 0364680f9af..5191c6fbbc3 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientMarshallingEmbeddedTest.java
+++
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientMarshallingEmbeddedTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.runner.app.client;
+package org.apache.ignite.internal.client;
import org.apache.ignite.Ignite;
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientMarshallingTest.java
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientMarshallingTest.java
similarity index 98%
rename from
modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientMarshallingTest.java
rename to
modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientMarshallingTest.java
index ffa74c5f19c..68019ba3daa 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientMarshallingTest.java
+++
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientMarshallingTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.runner.app.client;
+package org.apache.ignite.internal.client;
import static
org.apache.ignite.internal.testframework.IgniteTestUtils.assertThrowsWithCode;
import static org.hamcrest.MatcherAssert.assertThat;
@@ -58,7 +58,7 @@ public class ItThinClientMarshallingTest extends
ItAbstractThinClientTest {
assertThrowsMarshallerException(
() -> pojoView.upsert(null, pojo),
"Fields [unmapped, unmapped2] of type "
- +
"org.apache.ignite.internal.runner.app.client.ItThinClientMarshallingTest$TestPojo2
are not mapped to columns"
+ +
"org.apache.ignite.internal.client.ItThinClientMarshallingTest$TestPojo2 are
not mapped to columns"
);
}
@@ -71,7 +71,7 @@ public class ItThinClientMarshallingTest extends
ItAbstractThinClientTest {
assertThrowsMarshallerException(
() -> kvPojoView.put(null, pojo, pojo),
- "Fields [val] of type
org.apache.ignite.internal.runner.app.client.ItAbstractThinClientTest$TestPojo "
+ "Fields [val] of type
org.apache.ignite.internal.client.ItAbstractThinClientTest$TestPojo "
+ "are not mapped to columns");
}
@@ -84,7 +84,7 @@ public class ItThinClientMarshallingTest extends
ItAbstractThinClientTest {
assertThrowsMarshallerException(
() -> kvPojoView.put(null, 1, pojo),
- "Fields [key] of type
org.apache.ignite.internal.runner.app.client.ItAbstractThinClientTest$TestPojo "
+ "Fields [key] of type
org.apache.ignite.internal.client.ItAbstractThinClientTest$TestPojo "
+ "are not mapped to columns"
);
}
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientMultistatementSqlTest.java
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientMultistatementSqlTest.java
similarity index 99%
rename from
modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientMultistatementSqlTest.java
rename to
modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientMultistatementSqlTest.java
index 8e381b20d80..21c0f76be40 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientMultistatementSqlTest.java
+++
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientMultistatementSqlTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.runner.app.client;
+package org.apache.ignite.internal.client;
import static org.apache.ignite.internal.TestWrappers.unwrapIgniteImpl;
import static
org.apache.ignite.internal.sql.engine.util.SqlTestUtils.assertThrowsSqlException;
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientObservationTsTest.java
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientObservationTsTest.java
similarity index 97%
rename from
modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientObservationTsTest.java
rename to
modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientObservationTsTest.java
index ea3459bdee7..279a1edc1ae 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientObservationTsTest.java
+++
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientObservationTsTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.runner.app.client;
+package org.apache.ignite.internal.client;
import static org.awaitility.Awaitility.await;
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -23,7 +23,6 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
import java.time.Duration;
import org.apache.ignite.client.IgniteClient;
import org.apache.ignite.client.IgniteClient.Builder;
-import org.apache.ignite.internal.client.TcpIgniteClient;
import org.apache.ignite.internal.hlc.HybridTimestampTracker;
import org.apache.ignite.table.Table;
import org.apache.ignite.table.Tuple;
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientPartitionAwarenessTest.java
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientPartitionAwarenessTest.java
similarity index 97%
rename from
modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientPartitionAwarenessTest.java
rename to
modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientPartitionAwarenessTest.java
index e2e3d7b5418..b406de7cbc9 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientPartitionAwarenessTest.java
+++
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientPartitionAwarenessTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.runner.app.client;
+package org.apache.ignite.internal.client;
import static java.util.concurrent.CompletableFuture.completedFuture;
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -30,7 +30,7 @@ import org.apache.ignite.compute.ComputeJob;
import org.apache.ignite.compute.JobDescriptor;
import org.apache.ignite.compute.JobExecutionContext;
import org.apache.ignite.compute.JobTarget;
-import org.apache.ignite.internal.runner.app.client.proxy.IgniteClientProxy;
+import org.apache.ignite.internal.client.proxy.IgniteClientProxy;
import org.apache.ignite.table.RecordView;
import org.apache.ignite.table.Tuple;
import org.apache.ignite.tx.Transaction;
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientPojoComputeMarshallingTest.java
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientPojoComputeMarshallingTest.java
similarity index 99%
rename from
modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientPojoComputeMarshallingTest.java
rename to
modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientPojoComputeMarshallingTest.java
index 3b389e0025e..370af5fc3ca 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientPojoComputeMarshallingTest.java
+++
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientPojoComputeMarshallingTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.runner.app.client;
+package org.apache.ignite.internal.client;
import static org.apache.ignite.internal.TestWrappers.unwrapIgniteImpl;
import static
org.apache.ignite.internal.testframework.IgniteTestUtils.assertThrows;
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientSchemaSynchronizationTest.java
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientSchemaSynchronizationTest.java
similarity index 97%
rename from
modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientSchemaSynchronizationTest.java
rename to
modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientSchemaSynchronizationTest.java
index c403d646144..fb792c0ba0f 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientSchemaSynchronizationTest.java
+++
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientSchemaSynchronizationTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.runner.app.client;
+package org.apache.ignite.internal.client;
import static
org.apache.ignite.internal.testframework.IgniteTestUtils.assertThrowsWithCause;
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -203,7 +203,7 @@ public class ItThinClientSchemaSynchronizationTest extends
ItAbstractThinClientT
: () -> recordView.insert(null, rec);
IgniteTestUtils.assertThrows(IgniteException.class, action::run,
- "Fields [name] of type
org.apache.ignite.internal.runner.app.client.ItThinClientSchemaSynchronizationTest$Pojo
"
+ "Fields [name] of type
org.apache.ignite.internal.client.ItThinClientSchemaSynchronizationTest$Pojo "
+ "are not mapped to columns");
// Modify table, insert again - client will use old schema, throw
ClientSchemaMismatchException,
@@ -235,7 +235,7 @@ public class ItThinClientSchemaSynchronizationTest extends
ItAbstractThinClientT
: () -> kvView.put(null, key, val);
IgniteTestUtils.assertThrows(IgniteException.class, action::run,
"Fields [name] of type "
- +
"org.apache.ignite.internal.runner.app.client.ItThinClientSchemaSynchronizationTest$ValPojo
"
+ +
"org.apache.ignite.internal.client.ItThinClientSchemaSynchronizationTest$ValPojo
"
+ "are not mapped to columns");
// Modify table, insert again - client will use old schema, throw
ClientSchemaMismatchException,
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientSqlTest.java
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientSqlTest.java
similarity index 99%
rename from
modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientSqlTest.java
rename to
modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientSqlTest.java
index ec7973ea7cc..9115b6bc7a6 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientSqlTest.java
+++
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientSqlTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.runner.app.client;
+package org.apache.ignite.internal.client;
import static org.apache.ignite.internal.testframework.IgniteTestUtils.await;
import static
org.apache.ignite.internal.tx.impl.ResourceVacuumManager.RESOURCE_VACUUM_INTERVAL_MILLISECONDS_PROPERTY;
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientTablesGetListTest.java
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientTablesGetListTest.java
similarity index 99%
rename from
modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientTablesGetListTest.java
rename to
modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientTablesGetListTest.java
index d351d90d7cf..8b7aaa7c7ba 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientTablesGetListTest.java
+++
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientTablesGetListTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.runner.app.client;
+package org.apache.ignite.internal.client;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientTablesTest.java
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientTablesTest.java
similarity index 98%
rename from
modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientTablesTest.java
rename to
modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientTablesTest.java
index 1a8d484e8c7..2209371f489 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientTablesTest.java
+++
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientTablesTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.runner.app.client;
+package org.apache.ignite.internal.client;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNull;
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientTransactionCleanupTest.java
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientTransactionCleanupTest.java
similarity index 96%
rename from
modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientTransactionCleanupTest.java
rename to
modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientTransactionCleanupTest.java
index bbae8717cdb..5d5514f3278 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientTransactionCleanupTest.java
+++
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientTransactionCleanupTest.java
@@ -15,10 +15,10 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.runner.app.client;
+package org.apache.ignite.internal.client;
import static org.apache.ignite.internal.TestWrappers.unwrapIgniteImpl;
-import static
org.apache.ignite.internal.runner.app.client.ItThinClientTransactionsTest.generateKeysForNode;
+import static
org.apache.ignite.internal.client.ItThinClientTransactionsTest.generateKeysForNode;
import static org.awaitility.Awaitility.await;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.greaterThanOrEqualTo;
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientTransactionsTest.java
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientTransactionsTest.java
similarity index 99%
rename from
modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientTransactionsTest.java
rename to
modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientTransactionsTest.java
index 44209e6c62a..aedee88476b 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientTransactionsTest.java
+++
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientTransactionsTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.runner.app.client;
+package org.apache.ignite.internal.client;
import static java.lang.String.format;
import static java.util.Collections.emptyList;
@@ -59,9 +59,6 @@ import java.util.stream.Stream;
import org.apache.ignite.Ignite;
import org.apache.ignite.client.IgniteClient;
import org.apache.ignite.internal.app.IgniteImpl;
-import org.apache.ignite.internal.client.ClientChannel;
-import org.apache.ignite.internal.client.ClientTransactionInflights;
-import org.apache.ignite.internal.client.TcpIgniteClient;
import org.apache.ignite.internal.client.sql.ClientSql;
import org.apache.ignite.internal.client.sql.PartitionMappingProvider;
import org.apache.ignite.internal.client.table.ClientTable;
@@ -321,7 +318,7 @@ public class ItThinClientTransactionsTest extends
ItAbstractThinClientTest {
var ex = assertThrows(IgniteException.class, () -> kvView().put(tx, 1,
"1"));
String expected = "Unsupported transaction implementation: "
- + "'class
org.apache.ignite.internal.runner.app.client.ItThinClientTransactionsTest";
+ + "'class
org.apache.ignite.internal.client.ItThinClientTransactionsTest";
assertThat(ex.getMessage(), containsString(expected));
}
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientTransactionsWithBrokenReplicatorTest.java
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientTransactionsWithBrokenReplicatorTest.java
similarity index 98%
rename from
modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientTransactionsWithBrokenReplicatorTest.java
rename to
modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientTransactionsWithBrokenReplicatorTest.java
index 974b3d0c11d..4ba9185aba2 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientTransactionsWithBrokenReplicatorTest.java
+++
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientTransactionsWithBrokenReplicatorTest.java
@@ -15,11 +15,11 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.runner.app.client;
+package org.apache.ignite.internal.client;
import static
org.apache.ignite.internal.ReplicationGroupsUtils.zonePartitionIds;
import static org.apache.ignite.internal.TestWrappers.unwrapIgniteImpl;
-import static
org.apache.ignite.internal.runner.app.client.ItThinClientTransactionsTest.generateKeysForPartition;
+import static
org.apache.ignite.internal.client.ItThinClientTransactionsTest.generateKeysForPartition;
import static
org.apache.ignite.internal.testframework.IgniteTestUtils.getFieldValue;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientTransactionsWithReplicasTest.java
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientTransactionsWithReplicasTest.java
similarity index 96%
rename from
modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientTransactionsWithReplicasTest.java
rename to
modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientTransactionsWithReplicasTest.java
index 9758348447c..61fb8f7eb21 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientTransactionsWithReplicasTest.java
+++
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientTransactionsWithReplicasTest.java
@@ -15,9 +15,9 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.runner.app.client;
+package org.apache.ignite.internal.client;
-import static
org.apache.ignite.internal.runner.app.client.ItThinClientTransactionsTest.generateKeysForNode;
+import static
org.apache.ignite.internal.client.ItThinClientTransactionsTest.generateKeysForNode;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertThrows;
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientTupleComputeMarshallingTest.java
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientTupleComputeMarshallingTest.java
similarity index 99%
rename from
modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientTupleComputeMarshallingTest.java
rename to
modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientTupleComputeMarshallingTest.java
index d625415eb63..06c69995be6 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientTupleComputeMarshallingTest.java
+++
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientTupleComputeMarshallingTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.runner.app.client;
+package org.apache.ignite.internal.client;
import static java.util.concurrent.CompletableFuture.completedFuture;
import static org.apache.ignite.internal.TestWrappers.unwrapIgniteImpl;
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientUninitializedClusterTest.java
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientUninitializedClusterTest.java
similarity index 98%
rename from
modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientUninitializedClusterTest.java
rename to
modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientUninitializedClusterTest.java
index 2cf623583a5..c3d5b25608a 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientUninitializedClusterTest.java
+++
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinClientUninitializedClusterTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.runner.app.client;
+package org.apache.ignite.internal.client;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinConnectionFailoverTest.java
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinConnectionFailoverTest.java
similarity index 98%
rename from
modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinConnectionFailoverTest.java
rename to
modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinConnectionFailoverTest.java
index bd8ab69ffab..83808131c0b 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinConnectionFailoverTest.java
+++
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/ItThinConnectionFailoverTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.runner.app.client;
+package org.apache.ignite.internal.client;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/proxy/IgniteClientProxy.java
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/proxy/IgniteClientProxy.java
similarity index 97%
rename from
modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/proxy/IgniteClientProxy.java
rename to
modules/client/src/integrationTest/java/org/apache/ignite/internal/client/proxy/IgniteClientProxy.java
index 09d84a0e863..2bb458688e2 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/proxy/IgniteClientProxy.java
+++
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/proxy/IgniteClientProxy.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.runner.app.client.proxy;
+package org.apache.ignite.internal.client.proxy;
import io.netty.bootstrap.ServerBootstrap;
import io.netty.channel.ChannelFuture;
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/proxy/IgniteClientProxyBackendHandler.java
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/proxy/IgniteClientProxyBackendHandler.java
similarity index 97%
rename from
modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/proxy/IgniteClientProxyBackendHandler.java
rename to
modules/client/src/integrationTest/java/org/apache/ignite/internal/client/proxy/IgniteClientProxyBackendHandler.java
index 7d88acc942e..aa78a792447 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/proxy/IgniteClientProxyBackendHandler.java
+++
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/proxy/IgniteClientProxyBackendHandler.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.runner.app.client.proxy;
+package org.apache.ignite.internal.client.proxy;
import io.netty.channel.Channel;
import io.netty.channel.ChannelFutureListener;
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/proxy/IgniteClientProxyFrontendHandler.java
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/proxy/IgniteClientProxyFrontendHandler.java
similarity index 98%
rename from
modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/proxy/IgniteClientProxyFrontendHandler.java
rename to
modules/client/src/integrationTest/java/org/apache/ignite/internal/client/proxy/IgniteClientProxyFrontendHandler.java
index a3e81b2ff8c..735abd388a9 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/proxy/IgniteClientProxyFrontendHandler.java
+++
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/proxy/IgniteClientProxyFrontendHandler.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.runner.app.client.proxy;
+package org.apache.ignite.internal.client.proxy;
import io.netty.bootstrap.Bootstrap;
import io.netty.buffer.Unpooled;
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/proxy/IgniteClientProxyInitializer.java
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/proxy/IgniteClientProxyInitializer.java
similarity index 97%
rename from
modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/proxy/IgniteClientProxyInitializer.java
rename to
modules/client/src/integrationTest/java/org/apache/ignite/internal/client/proxy/IgniteClientProxyInitializer.java
index 54e9b8a2a3f..c6fa82d73ff 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/proxy/IgniteClientProxyInitializer.java
+++
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/client/proxy/IgniteClientProxyInitializer.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.runner.app.client.proxy;
+package org.apache.ignite.internal.client.proxy;
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.ChannelInboundHandlerAdapter;
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/streamer/ItAbstractDataStreamerTest.java
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/streamer/ItAbstractDataStreamerTest.java
similarity index 99%
rename from
modules/runner/src/integrationTest/java/org/apache/ignite/internal/streamer/ItAbstractDataStreamerTest.java
rename to
modules/client/src/integrationTest/java/org/apache/ignite/internal/streamer/ItAbstractDataStreamerTest.java
index 97b7938b71a..079395185be 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/streamer/ItAbstractDataStreamerTest.java
+++
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/streamer/ItAbstractDataStreamerTest.java
@@ -61,7 +61,6 @@ import org.apache.ignite.lang.MarshallerException;
import org.apache.ignite.marshalling.ByteArrayMarshaller;
import org.apache.ignite.marshalling.Marshaller;
import org.apache.ignite.network.ClusterNode;
-import org.apache.ignite.raft.jraft.test.TestUtils;
import org.apache.ignite.sql.IgniteSql;
import org.apache.ignite.sql.ResultSet;
import org.apache.ignite.sql.SqlRow;
@@ -739,7 +738,7 @@ public abstract class ItAbstractDataStreamerTest extends
ClusterPerClassIntegrat
}
@Test
- public void testFailedItems() {
+ public void testFailedItems() throws InterruptedException {
RecordView<Tuple> view = defaultTable().recordView();
CompletableFuture<Void> streamerFut;
@@ -756,14 +755,14 @@ public abstract class ItAbstractDataStreamerTest extends
ClusterPerClassIntegrat
streamerFut = view.streamData(publisher, options);
- assertTrue(TestUtils.waitForCondition(() -> publisher.requested()
> 0, 5000));
+ assertTrue(waitForCondition(() -> publisher.requested() > 0,
5000));
// Submit valid items.
for (int i = 0; i < 100; i++) {
publisher.submit(DataStreamerItem.of(tuple(i, "foo-" + i)));
}
- assertTrue(TestUtils.waitForCondition(() -> view.contains(null,
tupleKey(99)), 5000));
+ assertTrue(waitForCondition(() -> view.contains(null,
tupleKey(99)), 5000));
// Submit invalid items.
for (int i = 200; i < 300; i++) {
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/streamer/ItClientDataStreamerLoadTest.java
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/streamer/ItClientDataStreamerLoadTest.java
similarity index 100%
rename from
modules/runner/src/integrationTest/java/org/apache/ignite/internal/streamer/ItClientDataStreamerLoadTest.java
rename to
modules/client/src/integrationTest/java/org/apache/ignite/internal/streamer/ItClientDataStreamerLoadTest.java
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/streamer/ItClientDataStreamerTest.java
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/streamer/ItClientDataStreamerTest.java
similarity index 100%
rename from
modules/runner/src/integrationTest/java/org/apache/ignite/internal/streamer/ItClientDataStreamerTest.java
rename to
modules/client/src/integrationTest/java/org/apache/ignite/internal/streamer/ItClientDataStreamerTest.java
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/streamer/ItServerDataStreamerTest.java
b/modules/client/src/integrationTest/java/org/apache/ignite/internal/streamer/ItServerDataStreamerTest.java
similarity index 100%
rename from
modules/runner/src/integrationTest/java/org/apache/ignite/internal/streamer/ItServerDataStreamerTest.java
rename to
modules/client/src/integrationTest/java/org/apache/ignite/internal/streamer/ItServerDataStreamerTest.java
diff --git a/modules/platforms/cpp/tests/client-test/compute_test.cpp
b/modules/platforms/cpp/tests/client-test/compute_test.cpp
index d54f57c5553..2025eee0230 100644
--- a/modules/platforms/cpp/tests/client-test/compute_test.cpp
+++ b/modules/platforms/cpp/tests/client-test/compute_test.cpp
@@ -201,7 +201,7 @@ TEST_F(compute_test, job_error_propagates_to_client) {
// TODO https://issues.apache.org/jira/browse/IGNITE-19603
// EXPECT_THAT(e.what_str(),
// testing::HasSubstr(
- //
"org.apache.ignite.internal.runner.app.client.ItThinClientComputeTest$CustomException"));
+ //
"org.apache.ignite.internal.runner.app.Jobs$CustomException"));
// EXPECT_THAT(e.what_str(), testing::HasSubstr("IGN-TBL-3"));
throw;
}
diff --git a/modules/platforms/cpp/tests/client-test/ignite_runner_suite.h
b/modules/platforms/cpp/tests/client-test/ignite_runner_suite.h
index 932aeca99cf..edc97733394 100644
--- a/modules/platforms/cpp/tests/client-test/ignite_runner_suite.h
+++ b/modules/platforms/cpp/tests/client-test/ignite_runner_suite.h
@@ -48,16 +48,15 @@ public:
inline static const std::string ENABLE_AUTHN_JOB =
PLATFORM_TEST_NODE_RUNNER + "$EnableAuthenticationJob";
- inline static const std::string IT_THIN_CLIENT_COMPUTE_TEST =
- "org.apache.ignite.internal.runner.app.client.ItThinClientComputeTest";
-
- inline static const std::string NODE_NAME_JOB =
IT_THIN_CLIENT_COMPUTE_TEST + "$NodeNameJob";
- inline static const std::string SLEEP_JOB = IT_THIN_CLIENT_COMPUTE_TEST +
"$SleepJob";
- inline static const std::string TO_STRING_JOB =
IT_THIN_CLIENT_COMPUTE_TEST + "$ToStringJob";
- inline static const std::string CONCAT_JOB = IT_THIN_CLIENT_COMPUTE_TEST +
"$ConcatJob";
- inline static const std::string ERROR_JOB = IT_THIN_CLIENT_COMPUTE_TEST +
"$IgniteExceptionJob";
- inline static const std::string ECHO_JOB = IT_THIN_CLIENT_COMPUTE_TEST +
"$EchoJob";
- inline static const std::string RETURN_NULL_JOB =
IT_THIN_CLIENT_COMPUTE_TEST + "$ReturnNullJob";
+ inline static const std::string JOBS =
"org.apache.ignite.internal.runner.app.Jobs";
+
+ inline static const std::string NODE_NAME_JOB = JOBS + "$NodeNameJob";
+ inline static const std::string SLEEP_JOB = JOBS + "$SleepJob";
+ inline static const std::string TO_STRING_JOB = JOBS + "$ToStringJob";
+ inline static const std::string CONCAT_JOB = JOBS + "$ConcatJob";
+ inline static const std::string ERROR_JOB = JOBS + "$IgniteExceptionJob";
+ inline static const std::string ECHO_JOB = JOBS + "$EchoJob";
+ inline static const std::string RETURN_NULL_JOB = JOBS + "$ReturnNullJob";
static constexpr const char *KEY_COLUMN = "KEY";
static constexpr const char *VAL_COLUMN = "VAL";
diff --git
a/modules/platforms/dotnet/Apache.Ignite.Benchmarks/Compute/PlatformJobBenchmarks.cs
b/modules/platforms/dotnet/Apache.Ignite.Benchmarks/Compute/PlatformJobBenchmarks.cs
index 3112bc15019..79b5cd51eaf 100644
---
a/modules/platforms/dotnet/Apache.Ignite.Benchmarks/Compute/PlatformJobBenchmarks.cs
+++
b/modules/platforms/dotnet/Apache.Ignite.Benchmarks/Compute/PlatformJobBenchmarks.cs
@@ -68,7 +68,7 @@ public class PlatformJobBenchmarks : ServerBenchmarkBase
Options: new() { ExecutorType = JobExecutorType.DotNetSidecar });
_echoJobJava = new(
-
"org.apache.ignite.internal.runner.app.client.ItThinClientComputeTest$EchoJob",
[_unit]);
+ "org.apache.ignite.internal.runner.app.Jobs$EchoJob", [_unit]);
var nodes = await Client.GetClusterNodesAsync();
var firstNode = nodes.Single(x =>
x.Name.EndsWith("PlatformTestNodeRunner", StringComparison.Ordinal));
diff --git
a/modules/platforms/dotnet/Apache.Ignite.Tests.Common/Compute/JavaJobs.cs
b/modules/platforms/dotnet/Apache.Ignite.Tests.Common/Compute/JavaJobs.cs
index 0f790a9bdca..8ea53d2e3c3 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Tests.Common/Compute/JavaJobs.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Tests.Common/Compute/JavaJobs.cs
@@ -23,21 +23,21 @@ public static class JavaJobs
{
public const string PlatformTestNodeRunner =
"org.apache.ignite.internal.runner.app.PlatformTestNodeRunner";
- public const string ItThinClientComputeTest =
"org.apache.ignite.internal.runner.app.client.ItThinClientComputeTest";
+ public const string Jobs = "org.apache.ignite.internal.runner.app.Jobs";
- public static readonly JobDescriptor<object?, string> NodeNameJob =
new(ItThinClientComputeTest + "$NodeNameJob");
+ public static readonly JobDescriptor<object?, string> NodeNameJob =
new(Jobs + "$NodeNameJob");
- public static readonly JobDescriptor<string?, string> ConcatJob =
new(ItThinClientComputeTest + "$ConcatJob");
+ public static readonly JobDescriptor<string?, string> ConcatJob = new(Jobs
+ "$ConcatJob");
- public static readonly JobDescriptor<string, string> ErrorJob =
new(ItThinClientComputeTest + "$IgniteExceptionJob");
+ public static readonly JobDescriptor<string, string> ErrorJob = new(Jobs +
"$IgniteExceptionJob");
- public static readonly JobDescriptor<object?, object> EchoJob =
new(ItThinClientComputeTest + "$EchoJob");
+ public static readonly JobDescriptor<object?, object> EchoJob = new(Jobs +
"$EchoJob");
- public static readonly JobDescriptor<object, string> ToStringJob =
new(ItThinClientComputeTest + "$ToStringJob");
+ public static readonly JobDescriptor<object, string> ToStringJob =
new(Jobs + "$ToStringJob");
- public static readonly JobDescriptor<int, string> SleepJob =
new(ItThinClientComputeTest + "$SleepJob");
+ public static readonly JobDescriptor<int, string> SleepJob = new(Jobs +
"$SleepJob");
- public static readonly JobDescriptor<string, BigDecimal> DecimalJob =
new(ItThinClientComputeTest + "$DecimalJob");
+ public static readonly JobDescriptor<string, BigDecimal> DecimalJob =
new(Jobs + "$DecimalJob");
public static readonly JobDescriptor<string, string> CreateTableJob =
new(PlatformTestNodeRunner + "$CreateTableJob");
@@ -49,15 +49,15 @@ public static class JavaJobs
public static readonly JobDescriptor<long, int> PartitionJob =
new(PlatformTestNodeRunner + "$PartitionJob");
- public static readonly TaskDescriptor<string, string> NodeNameTask =
new(ItThinClientComputeTest + "$MapReduceNodeNameTask");
+ public static readonly TaskDescriptor<string, string> NodeNameTask =
new(Jobs + "$MapReduceNodeNameTask");
public static readonly TaskDescriptor<int, object?> SleepTask =
new(PlatformTestNodeRunner + "$SleepTask");
public static readonly TaskDescriptor<object?, object?> SplitExceptionTask
=
- new(ItThinClientComputeTest + "$MapReduceExceptionOnSplitTask");
+ new(Jobs + "$MapReduceExceptionOnSplitTask");
public static readonly TaskDescriptor<object?, object?>
ReduceExceptionTask =
- new(ItThinClientComputeTest + "$MapReduceExceptionOnReduceTask");
+ new(Jobs + "$MapReduceExceptionOnReduceTask");
public static readonly JobDescriptor<int, string> ExceptionCodeAsStringJob
= new(PlatformTestNodeRunner + "$ExceptionCodeAsStringJob");
}
diff --git
a/modules/platforms/dotnet/Apache.Ignite.Tests/Compute/ComputeTests.cs
b/modules/platforms/dotnet/Apache.Ignite.Tests/Compute/ComputeTests.cs
index 10ee0717e53..90db3da5ebd 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Tests/Compute/ComputeTests.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Tests/Compute/ComputeTests.cs
@@ -157,7 +157,7 @@ namespace Apache.Ignite.Tests.Compute
StringAssert.Contains("Custom job error", ex!.Message);
StringAssert.StartsWith(
-
"org.apache.ignite.internal.runner.app.client.ItThinClientComputeTest$CustomException",
+ "org.apache.ignite.internal.runner.app.Jobs$CustomException",
ex.InnerException!.Message);
Assert.AreEqual(ErrorGroups.Table.ColumnNotFound, ex.Code);
@@ -951,7 +951,7 @@ namespace Apache.Ignite.Tests.Compute
// Result - exception.
Assert.AreEqual("Custom job error", ex.Message);
- StringAssert.Contains("ItThinClientComputeTest$CustomException",
ex.InnerException!.Message);
+ StringAssert.Contains("Jobs$CustomException",
ex.InnerException!.Message);
Assert.AreEqual(ErrorGroups.Table.ColumnNotFound, ex.Code);
// Failed task state.
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/Jobs.java
b/modules/runner/src/testFixtures/java/org/apache/ignite/internal/runner/app/Jobs.java
similarity index 73%
rename from
modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/Jobs.java
rename to
modules/runner/src/testFixtures/java/org/apache/ignite/internal/runner/app/Jobs.java
index d546e0ea22e..c7a33174435 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/Jobs.java
+++
b/modules/runner/src/testFixtures/java/org/apache/ignite/internal/runner/app/Jobs.java
@@ -20,21 +20,29 @@ package org.apache.ignite.internal.runner.app;
import static java.util.Comparator.comparing;
import static java.util.concurrent.CompletableFuture.completedFuture;
import static java.util.stream.Collectors.toList;
+import static
org.apache.ignite.internal.util.CompletableFutures.nullCompletedFuture;
+import static org.apache.ignite.lang.ErrorGroups.Table.COLUMN_NOT_FOUND_ERR;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import java.util.UUID;
import java.util.concurrent.CompletableFuture;
+import java.util.stream.Collectors;
import org.apache.ignite.compute.ComputeJob;
import org.apache.ignite.compute.JobDescriptor;
import org.apache.ignite.compute.JobExecutionContext;
import org.apache.ignite.compute.task.MapReduceJob;
import org.apache.ignite.compute.task.MapReduceTask;
import org.apache.ignite.compute.task.TaskExecutionContext;
+import org.apache.ignite.lang.IgniteException;
import org.apache.ignite.marshalling.ByteArrayMarshaller;
import org.apache.ignite.marshalling.Marshaller;
import org.apache.ignite.network.ClusterNode;
@@ -475,4 +483,151 @@ public class Jobs {
this.secondString = secondString;
}
}
+
+ /** Trace ID used in exception jobs for testing purposes. */
+ public static final UUID TRACE_ID = UUID.randomUUID();
+
+ /** Returns node name concatenated with optional argument. */
+ public static class NodeNameJob implements ComputeJob<Object, String> {
+ @Override
+ public CompletableFuture<String> executeAsync(JobExecutionContext
context, Object arg) {
+ return completedFuture(context.ignite().name() + (arg == null ? ""
: arg.toString()));
+ }
+ }
+
+ /** Concatenates colon-separated args using underscore. */
+ public static class ConcatJob implements ComputeJob<String, String> {
+ @Override
+ public CompletableFuture<String> executeAsync(JobExecutionContext
context, String args) {
+ if (args == null) {
+ return nullCompletedFuture();
+ }
+
+ return completedFuture(
+ Arrays.stream(args.split(":"))
+ .map(o -> o == null ? "null" : o)
+ .collect(Collectors.joining("_")));
+ }
+ }
+
+ /** Custom exception class for testing. */
+ public static class CustomException extends IgniteException {
+ public CustomException(UUID traceId, int code, String message,
Throwable cause) {
+ super(traceId, code, message, cause);
+ }
+ }
+
+ /** Throws a custom Ignite exception. */
+ public static class IgniteExceptionJob implements ComputeJob<Object,
String> {
+ @Override
+ public CompletableFuture<String> executeAsync(JobExecutionContext
context, Object args) {
+ throw new CustomException(TRACE_ID, COLUMN_NOT_FOUND_ERR, "Custom
job error", null);
+ }
+ }
+
+ /** Echoes the argument back. */
+ public static class EchoJob implements ComputeJob<Object, Object> {
+ @Override
+ public CompletableFuture<Object> executeAsync(JobExecutionContext
context, Object arg) {
+ return completedFuture(arg);
+ }
+ }
+
+ /** Returns the string representation of the argument. */
+ public static class ToStringJob implements ComputeJob<Object, String> {
+ @Override
+ public CompletableFuture<String> executeAsync(JobExecutionContext
context, Object arg) {
+ if (arg instanceof byte[]) {
+ return completedFuture(Arrays.toString((byte[]) arg));
+ }
+
+ return completedFuture(arg.toString());
+ }
+ }
+
+ /** Sleeps for the specified number of milliseconds. */
+ public static class SleepJob implements ComputeJob<Integer, Void> {
+ @Override
+ public @Nullable CompletableFuture<Void>
executeAsync(JobExecutionContext context, Integer sleepMs) {
+ try {
+ Thread.sleep(sleepMs);
+ } catch (InterruptedException e) {
+ throw new RuntimeException(e);
+ }
+
+ return null;
+ }
+ }
+
+ /** Parses and scales a decimal number. */
+ public static class DecimalJob implements ComputeJob<String, BigDecimal> {
+ @Override
+ public CompletableFuture<BigDecimal> executeAsync(JobExecutionContext
context, String arg) {
+ @SuppressWarnings("DataFlowIssue")
+ var args = arg.split(",", 2);
+
+ return completedFuture(new
BigDecimal(args[0]).setScale(Integer.parseInt(args[1]), RoundingMode.HALF_UP));
+ }
+ }
+
+ /** Always returns null. */
+ public static class ReturnNullJob implements ComputeJob<Void, String> {
+ @Override
+ public @Nullable CompletableFuture<String>
executeAsync(JobExecutionContext context, @Nullable Void arg) {
+ return null;
+ }
+ }
+
+ /** MapReduce task that collects node names. */
+ public static class MapReduceNodeNameTask implements MapReduceTask<String,
Object, String, String> {
+ @Override
+ public CompletableFuture<List<MapReduceJob<Object, String>>>
splitAsync(TaskExecutionContext context, String args) {
+ return completedFuture(context.ignite().cluster().nodes().stream()
+ .map(node -> MapReduceJob.<Object, String>builder()
+
.jobDescriptor(JobDescriptor.builder(NodeNameJob.class).build())
+ .nodes(Set.of(node))
+ .args(args)
+ .build())
+ .collect(Collectors.toList()));
+ }
+
+ @Override
+ public CompletableFuture<String> reduceAsync(TaskExecutionContext
context, Map<UUID, String> results) {
+ return completedFuture(results.values().stream()
+ .map(String.class::cast)
+ .collect(Collectors.joining(",")));
+ }
+ }
+
+ /** MapReduce task that throws a custom exception during split. */
+ public static class MapReduceExceptionOnSplitTask implements
MapReduceTask<Object, Object, Object, String> {
+ @Override
+ public CompletableFuture<List<MapReduceJob<Object, Object>>>
splitAsync(TaskExecutionContext context, Object args) {
+ throw new CustomException(TRACE_ID, COLUMN_NOT_FOUND_ERR, "Custom
job error", null);
+ }
+
+ @Override
+ public CompletableFuture<String> reduceAsync(TaskExecutionContext
context, Map<UUID, Object> results) {
+ return completedFuture("expected split exception");
+ }
+ }
+
+ /** MapReduce task that throws a custom exception during reduce. */
+ public static class MapReduceExceptionOnReduceTask implements
MapReduceTask<Object, Object, String, String> {
+ @Override
+ public CompletableFuture<List<MapReduceJob<Object, String>>>
splitAsync(TaskExecutionContext context, Object args) {
+ return completedFuture(context.ignite().cluster().nodes().stream()
+ .map(node -> MapReduceJob.<Object, String>builder()
+
.jobDescriptor(JobDescriptor.builder(NodeNameJob.class).build())
+ .nodes(Set.of(node))
+ .args(args)
+ .build())
+ .collect(Collectors.toList()));
+ }
+
+ @Override
+ public CompletableFuture<String> reduceAsync(TaskExecutionContext
context, Map<UUID, String> results) {
+ throw new CustomException(TRACE_ID, COLUMN_NOT_FOUND_ERR, "Custom
job error", null);
+ }
+ }
}