This is an automated email from the ASF dual-hosted git repository.
zstan 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 6e9fcb9bae0 IGNITE-25586 Sql. Partition awareness. Performance tests
(#6294)
6e9fcb9bae0 is described below
commit 6e9fcb9bae04ad4c2a3a4fa1348d1d72056fbf49
Author: Evgeniy Stanilovskiy <[email protected]>
AuthorDate: Wed Jul 23 15:28:29 2025 +0300
IGNITE-25586 Sql. Partition awareness. Performance tests (#6294)
---
.../apache/ignite/internal/client/sql/ClientSql.java | 2 +-
.../internal/benchmark/AbstractMultiNodeBenchmark.java | 12 ++++++++++++
.../ignite/internal/benchmark/BulkLoadBenchmark.java | 17 ++++++++---------
.../ignite/internal/benchmark/InsertBenchmark.java | 14 +++++++++-----
.../ignite/internal/benchmark/SelectBenchmark.java | 11 ++++++++---
5 files changed, 38 insertions(+), 18 deletions(-)
diff --git
a/modules/client/src/main/java/org/apache/ignite/internal/client/sql/ClientSql.java
b/modules/client/src/main/java/org/apache/ignite/internal/client/sql/ClientSql.java
index 9e8f84bac2e..f03512a3328 100644
---
a/modules/client/src/main/java/org/apache/ignite/internal/client/sql/ClientSql.java
+++
b/modules/client/src/main/java/org/apache/ignite/internal/client/sql/ClientSql.java
@@ -291,7 +291,7 @@ public class ClientSql implements IgniteSql {
PartitionMappingProvider mappingProvider =
mappingProviderCache.getIfPresent(new PaCacheKey(statement));
- PartitionMapping mapping = mappingProvider != null
+ PartitionMapping mapping = mappingProvider != null
? mappingProvider.get(arguments)
: null;
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/benchmark/AbstractMultiNodeBenchmark.java
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/benchmark/AbstractMultiNodeBenchmark.java
index 76886e4235f..ee653459bf1 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/benchmark/AbstractMultiNodeBenchmark.java
+++
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/benchmark/AbstractMultiNodeBenchmark.java
@@ -26,6 +26,7 @@ import java.nio.file.Files;
import java.nio.file.Path;
import java.util.ArrayList;
import java.util.List;
+import java.util.stream.IntStream;
import org.apache.ignite.Ignite;
import org.apache.ignite.IgniteServer;
import org.apache.ignite.InitParameters;
@@ -253,6 +254,17 @@ public class AbstractMultiNodeBenchmark {
}
}
+ /**
+ * Gets client connector addresses for the specified nodes.
+ *
+ * @return Array of client addresses.
+ */
+ static String[] getServerEndpoints(int clusterNodes) {
+ return IntStream.range(0, clusterNodes)
+ .mapToObj(i -> "127.0.0.1:" + (BASE_CLIENT_PORT + i))
+ .toArray(String[]::new);
+ }
+
private static String nodeName(int port) {
return "node_" + port;
}
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/benchmark/BulkLoadBenchmark.java
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/benchmark/BulkLoadBenchmark.java
index b565eb36a58..b574ad71f1b 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/benchmark/BulkLoadBenchmark.java
+++
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/benchmark/BulkLoadBenchmark.java
@@ -57,7 +57,7 @@ import org.openjdk.jmh.runner.options.OptionsBuilder;
@OutputTimeUnit(TimeUnit.SECONDS)
public class BulkLoadBenchmark extends AbstractMultiNodeBenchmark {
@Param("3")
- private int clusterSize;
+ private static int clusterSize;
@Param("32")
private int partitionCount;
@@ -116,9 +116,9 @@ public class BulkLoadBenchmark extends
AbstractMultiNodeBenchmark {
public void setUp() {
String queryStr = createInsertStatement();
- client = IgniteClient.builder()
- .addresses("127.0.0.1:10800", "127.0.0.1:10801",
"127.0.0.1:10802")
- .build();
+ String[] clientAddrs = getServerEndpoints(clusterSize);
+
+ client = IgniteClient.builder().addresses(clientAddrs).build();
sql = client.sql();
@@ -130,8 +130,7 @@ public class BulkLoadBenchmark extends
AbstractMultiNodeBenchmark {
*/
@TearDown
public void tearDown() throws Exception {
- // statement.close() throws `UnsupportedOperationException("Not
implemented yet.")`, that's why it's commented.
- closeAll(/* statement, */ client);
+ closeAll(client);
}
void upload(int count, int batch) {
@@ -171,9 +170,9 @@ public class BulkLoadBenchmark extends
AbstractMultiNodeBenchmark {
tuple.set("field" + i, FIELD_VAL);
}
- client = IgniteClient.builder()
- .addresses("127.0.0.1:10800", "127.0.0.1:10801",
"127.0.0.1:10802")
- .build();
+ String[] clientAddrs = getServerEndpoints(clusterSize);
+
+ client = IgniteClient.builder().addresses(clientAddrs).build();
kvView = client.tables().table(TABLE_NAME).keyValueView();
}
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/benchmark/InsertBenchmark.java
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/benchmark/InsertBenchmark.java
index f48246de2e0..b234e05a8f7 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/benchmark/InsertBenchmark.java
+++
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/benchmark/InsertBenchmark.java
@@ -63,7 +63,7 @@ import org.openjdk.jmh.runner.options.OptionsBuilder;
@OutputTimeUnit(TimeUnit.MICROSECONDS)
public class InsertBenchmark extends AbstractMultiNodeBenchmark {
@Param({"1", "2", "3"})
- private int clusterSize;
+ private static int clusterSize;
@Param({"1", "2", "4", "8", "16", "32"})
private int partitionCount;
@@ -242,7 +242,9 @@ public class InsertBenchmark extends
AbstractMultiNodeBenchmark {
public void setUp() {
String queryStr = createInsertStatement();
- client =
IgniteClient.builder().addresses("127.0.0.1:10800").build();
+ String[] clientAddrs = getServerEndpoints(clusterSize);
+
+ client = IgniteClient.builder().addresses(clientAddrs).build();
sql = client.sql();
@@ -254,8 +256,7 @@ public class InsertBenchmark extends
AbstractMultiNodeBenchmark {
*/
@TearDown
public void tearDown() throws Exception {
- // statement.close() throws `UnsupportedOperationException("Not
implemented yet.")`, that's why it's commented.
- closeAll(/* statement, */ client);
+ closeAll(client);
}
private int id = 0;
@@ -361,7 +362,10 @@ public class InsertBenchmark extends
AbstractMultiNodeBenchmark {
tuple.set("field" + i, FIELD_VAL);
}
- client =
IgniteClient.builder().addresses("127.0.0.1:10800").build();
+ String[] clientAddrs = getServerEndpoints(clusterSize);
+
+ client = IgniteClient.builder().addresses(clientAddrs).build();
+
kvView = client.tables().table(TABLE_NAME).keyValueView();
}
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/benchmark/SelectBenchmark.java
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/benchmark/SelectBenchmark.java
index 8411d977e17..2773d816ed9 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/benchmark/SelectBenchmark.java
+++
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/benchmark/SelectBenchmark.java
@@ -88,7 +88,7 @@ public class SelectBenchmark extends
AbstractMultiNodeBenchmark {
private final TransactionOptions readOnlyTransactionOptions = new
TransactionOptions().readOnly(true);
@Param({"1", "2", "3"})
- private int clusterSize;
+ private static int clusterSize;
/**
* Fills the table with data.
@@ -288,7 +288,9 @@ public class SelectBenchmark extends
AbstractMultiNodeBenchmark {
*/
@Setup
public void setUp() {
- client =
IgniteClient.builder().addresses("127.0.0.1:10800").build();
+ String[] clientAddrs = getServerEndpoints(clusterSize);
+
+ client = IgniteClient.builder().addresses(clientAddrs).build();
sql = client.sql();
}
@@ -353,7 +355,10 @@ public class SelectBenchmark extends
AbstractMultiNodeBenchmark {
*/
@Setup
public void setUp() {
- client =
IgniteClient.builder().addresses("127.0.0.1:10800").build();
+ String[] clientAddrs = getServerEndpoints(clusterSize);
+
+ client = IgniteClient.builder().addresses(clientAddrs).build();
+
kvView = client.tables().table(TABLE_NAME).keyValueView();
}