(ignite-3) branch main updated (ac8696610d -> a8ca57906d)

2024-09-27 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


from ac8696610d IGNITE-22879 Add CLI for migrating running nodes to new CMG 
(#4458)
 add a8ca57906d IGNITE-23299 Fix inflights tracking for RO transactions on 
cursor close when transaction is rolling back (#4464)

No new revisions were added by this update.

Summary of changes:
 .../internal/table/distributed/storage/PartitionScanPublisher.java | 7 ++-
 1 file changed, 2 insertions(+), 5 deletions(-)



(ignite-3) branch ignite-23299 deleted (was eebb0b2abc)

2024-09-27 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-23299
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


 was eebb0b2abc Fix inflights tracking for RO transactions on cursor close 
when transaction is rolling back.

The revisions that were on this branch are still contained in
other references; therefore, this change does not discard any commits
from the repository.



(ignite-3) 01/01: Fix inflights tracking for RO transactions on cursor close when transaction is rolling back.

2024-09-27 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a commit to branch ignite-23299
in repository https://gitbox.apache.org/repos/asf/ignite-3.git

commit eebb0b2abc5fda7a28151419fb00d69750314363
Author: amashenkov 
AuthorDate: Fri Sep 27 11:16:40 2024 +0300

Fix inflights tracking for RO transactions on cursor close when transaction 
is rolling back.
---
 .../internal/table/distributed/storage/PartitionScanPublisher.java | 7 ++-
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git 
a/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/storage/PartitionScanPublisher.java
 
b/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/storage/PartitionScanPublisher.java
index fbe90bc9b2..6196098a45 100644
--- 
a/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/storage/PartitionScanPublisher.java
+++ 
b/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/storage/PartitionScanPublisher.java
@@ -179,12 +179,11 @@ public abstract class PartitionScanPublisher 
implements Publisher {
 
 inflightBatchRequestTracker.onRequestBegin();
 
-retrieveBatch(scanId, n).thenAccept(binaryRows -> {
+CompletableFuture> retriveBatchFuture = 
retrieveBatch(scanId, n);
+retriveBatchFuture.whenComplete((batch, err) -> 
inflightBatchRequestTracker.onRequestEnd()).thenAccept(binaryRows -> {
 assert binaryRows != null;
 assert binaryRows.size() <= n : "Rows more then requested " + 
binaryRows.size() + " " + n;
 
-inflightBatchRequestTracker.onRequestEnd();
-
 binaryRows.forEach(subscriber::onNext);
 
 if (binaryRows.size() < n) {
@@ -197,8 +196,6 @@ public abstract class PartitionScanPublisher implements 
Publisher {
 }
 }
 }).exceptionally(t -> {
-inflightBatchRequestTracker.onRequestEnd();
-
 cancel(t, false);
 
 return null;



(ignite-3) branch ignite-23299 created (now eebb0b2abc)

2024-09-27 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-23299
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


  at eebb0b2abc Fix inflights tracking for RO transactions on cursor close 
when transaction is rolling back.

This branch includes the following new commits:

 new eebb0b2abc Fix inflights tracking for RO transactions on cursor close 
when transaction is rolling back.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.




(ignite-3) branch ignite-22988 deleted (was 677b5babd5)

2024-09-04 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22988
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


 was 677b5babd5 Merge branch 'main' into ignite-22988

The revisions that were on this branch are still contained in
other references; therefore, this change does not discard any commits
from the repository.



(ignite-3) branch ignite-22988 updated (7d090efd22 -> 677b5babd5)

2024-09-04 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22988
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


from 7d090efd22 Minor after review
 add 6c65c1fb57 IGNITE-22876 Implement cluster reset initiation (#4272)
 add 0b993adcd4 IGNITE-23095 Fix crashes in 
SystemDisasterRecoveryManagerImplTest (#4301)
 add 7d25de79af IGNITE-23099 Fix writeUnlock() contract in 
VersatileReadWriteLock (#4305)
 add 71631f769b IGNITE-23089 Node config update command show terminal 
control symbols (#4299)
 add d32ef2e80c IGNITE-23100 Improve semantic of authenticateAsync (#4306)
 add 1aead9b121 IGNITE-23104 Add validation of some fields in 
GcConfigurationSchema (#4307)
 add 35fbde0e70 IGNITE-22777 Improve CLI usability (#4280)
 add 3c43871cbf IGNITE-22160: Sql. Usability of error message in case of 
numeric overflow (#4296)
 add e2a7921ffc IGNITE-23086 Fix 
ItTxDistributedTestThreeNodesThreeReplicas.testDeleteUpsertAllRollback (#4302)
 add 1eb86a241c IGNITE-23098 Make sure raft is closed before storage (#4310)
 add 01b2306c26 IGNITE-22787 Support Marshallers in MapReduce API (#4260)
 add 2ffebf67e0 IGNITE-23063 
ItReplicaLifecycleTest.testStableAreWrittenAfterRestart(TestInfo) is flaky 
(#4291)
 add eab9fef44f IGNITE-23084 Implement checkpoint buffer draining in 
checkpoint threads if it's close to overflow (#4308)
 add 5d7de62ea4 IGNITE-23111 Fix docker compose config (#4313)
 add e17117496a IGNITE-22882 Thin client: support multiple cluster IDs in 
handshake (#4314)
 add d8fb1f4d0b IGNITE-23101 CLI should show HOCON representation of the 
config (#4309)
 add c03667bff5 IGNITE-23049 Add HybridClock benchmark (#4270)
 add b9ebbae99c IGNITE-22807 Repair CMG on node start (#4304)
 add 27ce7f278d IGNITE-22808 Migrate running node missed during CMG 
reparation to new cluster (#4315)
 add 5c81840191 IGNITE-20889 Sql. Remove extra coercion code (#4297)
 add 9972b3b232 IGNITE-23078 Fix flaky test 
CatalogCompactionRunnerSelfTest.mustNotPerformWhenAssignmentNodeIsMissing 
(#4319)
 add de11d33ff1 IGNITE-22747 Python Client: add tox.ini for CI/CD (#4289)
 add 535d22dcb0 IGNITE-22942 Add ability to StaticNodeFinder to resolve 
multiple IP addresses under the same host name (#4320)
 add bb51f3cc7c IGNITE-22741 DB API Driver 3: Implement Data Fetching 
(#4321)
 add 53e8bfafc7 IGNITE-22679 Explain the workflow at the start of catalog 
manager. (#4300)
 add 003edce538 IGNITE-22956 Implement local events about zone replica 
start in PartitionReplicaLifecycleManager. (#4294)
 add 6ffcc007aa IGNITE-22883 Send all cluster IDs to thin client on 
connection (#4322)
 add fc98b16952 IGNITE-23102 Usernames in basic authentication should be 
case insensitive (#4311)
 add 37c98e6e1b IGNITE-23088 Sql. Serialization/deserialization of exact 
numbers with approx types can be different (#4303)
 add 0723a0fd3e IGNITE-23083 Sql. Avoid planner cache pollution with simple 
insert queries (#4295)
 add 677b5babd5 Merge branch 'main' into ignite-22988

No new revisions were added by this update.

Summary of changes:
 .../org/apache/ignite/compute/TaskDescriptor.java  |  57 ++-
 .../apache/ignite/compute/task/MapReduceTask.java  |  11 +
 .../CatalogCompactionRunnerSelfTest.java   |   6 +-
 .../configuration/ItConfigCommandTest.java |  25 +-
 .../call/configuration/NodeConfigUpdateCall.java   |   3 +-
 .../ignite/internal/cli/commands/BaseCommand.java  |  29 +-
 .../internal/cli/commands/CommandConstants.java|  41 ++
 .../ignite/internal/cli/commands/ProfileMixin.java |   3 +-
 .../internal/cli/commands/TopLevelCliCommand.java  |   3 +-
 .../cli/commands/TopLevelCliReplCommand.java   |  29 +-
 .../cli/commands/cluster/ClusterUrlMixin.java  |   8 +-
 .../commands/cluster/init/ClusterInitCommand.java  |   6 +-
 .../commands/cluster/init/ClusterInitOptions.java  |  13 +-
 .../commands/sql/SqlReplTopLevelCliCommand.java|  24 +-
 .../cli/commands/sql/help/SqlHelpCommand.java  |  26 +-
 .../highlighter/JsonAnsiHighlighter.java   |   1 +
 .../internal/cli/decorators/JsonDecorator.java |  18 +-
 .../commands/cluster/config/ClusterConfigTest.java |  12 +-
 .../cli/commands/node/config/NodeConfigTest.java   |  17 +-
 .../internal/cli/commands/sql/SqlCommandTest.java  |   2 +-
 .../client/handler/ItClientHandlerMetricsTest.java |   4 +-
 .../ignite/client/handler/ItClientHandlerTest.java |   6 +-
 .../apache/ignite/client/handler/TestServer.java   |   6 +-
 .../ignite/client/handler/ClientHandlerModule.java |  22 +-
 .../handler/ClientInboundMessageHandler.java   |  25 +-
 .../apache/ignite/client/handler/ClusterInfo.java} |  31 +-
 .../ClientComputeExecuteMapReduceRequest.java  |   9 +-
 .../ignite/internal/client/ProtocolContext.java|  28 +-
 .../ignite/internal/client/ReliableChanne

(ignite-3) branch ignite-22988 updated (bc49e6f45b -> deae85817b)

2024-09-02 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22988
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


 discard bc49e6f45b wip

This update removed existing revisions from the reference, leaving the
reference pointing at a previous point in the repository history.

 * -- * -- N   refs/heads/ignite-22988 (deae85817b)
\
 O -- O -- O   (bc49e6f45b)

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 .../internal/sql/engine/ItAggregatesTest.java  | 23 ++
 .../internal/sql/engine/type/IgniteTypeSystem.java | 17 
 2 files changed, 10 insertions(+), 30 deletions(-)



(ignite-3) branch ignite-22988 updated (deae85817b -> bc49e6f45b)

2024-09-02 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22988
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


from deae85817b Minors after review
 add bc49e6f45b wip

No new revisions were added by this update.

Summary of changes:
 .../internal/sql/engine/ItAggregatesTest.java  | 23 --
 .../internal/sql/engine/type/IgniteTypeSystem.java | 17 
 2 files changed, 30 insertions(+), 10 deletions(-)



(ignite-3) branch ignite-22988 updated (cb05301b56 -> deae85817b)

2024-08-30 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22988
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


from cb05301b56 Minor after review.
 add c84fd3a27d styles
 add deae85817b Minors after review

No new revisions were added by this update.

Summary of changes:
 .../sql/engine/exec/exp/agg/Accumulators.java  |  2 +-
 .../sql/engine/rel/agg/MapReduceAggregates.java| 28 --
 2 files changed, 11 insertions(+), 19 deletions(-)



(ignite-3) branch ignite-22988 updated (3485424e6b -> cb05301b56)

2024-08-30 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22988
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


from 3485424e6b styles
 add cb05301b56 Minor after review.

No new revisions were added by this update.

Summary of changes:
 .../java/org/apache/ignite/internal/sql/engine/ItAggregatesTest.java | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)



(ignite-3) branch ignite-22988 updated (acb65a76c3 -> 3485424e6b)

2024-08-29 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22988
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


from acb65a76c3 fix test
 add 3485424e6b styles

No new revisions were added by this update.

Summary of changes:
 .../java/org/apache/ignite/internal/sql/engine/ItAggregatesTest.java | 5 +
 .../apache/ignite/internal/sql/engine/exec/exp/agg/Accumulators.java | 3 ++-
 2 files changed, 3 insertions(+), 5 deletions(-)



(ignite-3) branch ignite-22988 updated (af0fff8a1e -> acb65a76c3)

2024-08-29 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22988
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


from af0fff8a1e fix test
 add acb65a76c3 fix test

No new revisions were added by this update.

Summary of changes:
 .../dotnet/Apache.Ignite.Tests/Linq/LinqTests.AsyncMaterialization.cs | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)



(ignite-3) branch ignite-22988 updated (1a21224905 -> af0fff8a1e)

2024-08-29 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22988
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


from 1a21224905 fix test
 add af0fff8a1e fix test

No new revisions were added by this update.

Summary of changes:
 .../Apache.Ignite.Tests/Linq/LinqTests.AsyncMaterialization.cs  | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)



(ignite-3) branch ignite-22988 updated (316b9f31c5 -> 1a21224905)

2024-08-29 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22988
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


from 316b9f31c5 Styles
 add 1a21224905 fix test

No new revisions were added by this update.

Summary of changes:
 .../Apache.Ignite.Tests/Linq/LinqTests.AsyncMaterialization.cs  | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)



(ignite-3) branch ignite-22988 updated (7bc740ef5d -> 316b9f31c5)

2024-08-29 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22988
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


from 7bc740ef5d fix test
 add 316b9f31c5 Styles

No new revisions were added by this update.

Summary of changes:
 .../internal/sql/engine/exec/exp/IgniteSqlFunctions.java   |  1 -
 .../ignite/internal/sql/engine/exec/exp/agg/Accumulators.java  | 10 ++
 2 files changed, 6 insertions(+), 5 deletions(-)



(ignite-3) branch ignite-22988 updated (f19709e62c -> 7bc740ef5d)

2024-08-28 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22988
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


from f19709e62c WIP
 add 7bc740ef5d fix test

No new revisions were added by this update.

Summary of changes:
 .../ignite/internal/sql/engine/exec/exp/IgniteSqlFunctionsTest.java | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)



(ignite-3) branch ignite-22988 updated (5d441e907f -> f19709e62c)

2024-08-28 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22988
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


 discard 5d441e907f WIP
 add f19709e62c WIP

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (5d441e907f)
\
 N -- N -- N   refs/heads/ignite-22988 (f19709e62c)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 .../org/apache/ignite/internal/sql/engine/ItAggregatesTest.java | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)



(ignite-3) branch ignite-22988 updated (b1b68c83da -> 5d441e907f)

2024-08-28 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22988
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


from b1b68c83da WIP
 add e23e88ea6e IGNITE-23077 Fix flaky 
ItIndexNodeFinishedRwTransactionsCheckerTest#testOnePhaseCommitViaKeyValue 
(#4288)
 add 6a77b8e5c2 IGNITE-22829 Optimize performance of count(*) (#4221)
 add ccc1fbf450 IGNITE-22773  Add test on partition pruning for SQL 
disjoint case (#4273)
 add aa9a4c82c4 IGNITE-22170 Destroy CMG Raft group storages on init 
cancellation (#4287)
 add 7942a5edfb IGNITE-22949 Add for-loop support to SQL logic tests. 
(#4275)
 add ecbe35e102 IGNITE-20869 Got rid of using CompletableFuture#orTimeout 
method on operations hot path (#4261)
 add 8b705e01a1 IGNITE-22928 Fix testZoneReplicaListener (#4284)
 add e1fa84c00e IGNITE-22781 Fix question during connect to a node (#4278)
 add 8c6aa34998 IGNITE-20324 Implement integration tests to cover questions 
in CLI (#4285)
 add 2d353d9316 IGNITE-22680 Use matching assignments timestamp in zone 
rebalance listener (#4282)
 add f797ea24bd Merge branch 'main' into ignite-22988
 add 5d441e907f WIP

No new revisions were added by this update.

Summary of changes:
 modules/bytecode/build.gradle  |   2 +
 .../presto/bytecode/TestClassGenerator.java|  28 +-
 .../ignite/internal/cli/CliIntegrationTest.java|  14 +-
 .../cli/commands/ItConnectToClusterTestBase.java   |  45 ++-
 .../cli/commands/connect/ItConnectCommandTest.java |  48 ++-
 .../connect/ItConnectNonReplCommandTest.java   |  64 
 ...tConnectWithBasicAuthenticationCommandTest.java | 116 +--
 .../questions/ItConnectToBasicAuthClusterTest.java |  63 
 .../commands/questions/ItConnectToClusterTest.java | 101 --
 .../ItConnectToSslAndAuthClusterTest.java  | 189 +-
 .../questions/ItConnectToSslClusterTest.java   |  74 ++--
 ...ItSqlReplCommandNotInitializedClusterTest.java} |   8 +-
 .../java/org/apache/ignite/internal/cli/Main.java  |   1 +
 .../apache/ignite/internal/cli/ReplManager.java|   8 +-
 .../internal/cli/call/connect/ConnectCall.java |  20 +-
 .../cli/call/connect/ConnectionChecker.java|  34 +-
 .../cli/commands/connect/ConnectCommand.java   |  10 +-
 .../questions/ConnectToClusterQuestion.java|  23 +-
 .../internal/cli/commands/sql/SqlCommand.java  |  26 +-
 .../internal/cli/commands/sql/SqlReplCommand.java  |  17 +-
 .../apache/ignite/internal/cli/core/repl/Repl.java |   9 -
 .../ignite/internal/cli/core/repl/ReplBuilder.java |  14 -
 .../ignite/internal/cli/core/repl/SessionInfo.java |  24 ++
 .../cli/core/repl/executor/ReplExecutorImpl.java   |   2 -
 .../cli/commands/cliconfig/ConfigManagerTest.java  |  44 ++-
 .../cliconfig/TestConfigManagerHelper.java |  19 ++
 .../ignite/internal/client/TcpClientChannel.java   |  68 +++-
 .../org/apache/ignite/client/ConnectionTest.java   |   2 +
 .../management/ClusterManagementGroupManager.java  |  11 +-
 .../internal/future/timeout/TimeoutObject.java}|  23 +-
 .../internal/future/timeout/TimeoutWorker.java | 109 ++
 .../RebalanceRaftGroupEventsListener.java  |  13 +-
 .../ZoneRebalanceRaftGroupEventsListener.java  |  66 +---
 modules/index/build.gradle |   1 +
 ...IndexNodeFinishedRwTransactionsCheckerTest.java |  35 +-
 .../internal/network/DefaultMessagingService.java  |  65 +++-
 .../replicator/ItReplicaLifecycleTest.java |   2 +-
 .../replicator/utils/TestPlacementDriver.java  |  21 +-
 .../PartitionReplicaLifecycleManager.java  |  27 +-
 .../apache/ignite/internal/raft/RaftManager.java   |   9 +
 .../apache/ignite/internal/raft/ItLozaTest.java| 111 --
 .../raft/ItTruncateSuffixAndRestartTest.java   |  11 +-
 .../internal/raft/CoreLogStorageBudgetsModule.java |   4 +-
 .../java/org/apache/ignite/internal/raft/Loza.java |  19 +-
 .../ignite/internal/raft/server/RaftServer.java|   8 +
 .../internal/raft/server/impl/JraftServerImpl.java |  28 +-
 .../internal/raft/storage/LogStorageFactory.java   |   7 +
 .../storage/impl/DefaultLogStorageFactory.java |  11 +
 .../raft}/storage/impl/EntryCountBudget.java   |   2 +-
 .../raft/storage/impl/LocalLogStorageFactory.java  |   5 +
 .../raft}/storage/impl/LogStorageBudget.java   |   2 +-
 .../raft}/storage/impl/LogStorageException.java|   8 +-
 .../jraft => internal/raft}/storage/impl/Logs.java |  25 +-
 .../raft}/storage/impl/OnHeapLogs.java |   2 +-
 .../raft/storage/impl/RocksDbSharedLogStorage.java |  21 +-
 .../impl/RocksDbSharedLogStorageUtils.java}|  28 +-
 .../raft}/storage/impl/RocksDbSpillout.java|  26 +-
 .../raft}/storage/impl/UnlimitedBudget.java|   2 +-
 .../raft}/storage/impl/VolatileLogStorage.java |   4 +-
 .../storage/impl/VolatileLogStorageFactory.java|  16 +-

(ignite-3) branch ignite-22988 created (now b1b68c83da)

2024-08-27 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22988
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


  at b1b68c83da WIP

This branch includes the following new commits:

 new b1b68c83da WIP

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.




(ignite-3) 01/01: WIP

2024-08-27 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a commit to branch ignite-22988
in repository https://gitbox.apache.org/repos/asf/ignite-3.git

commit b1b68c83da372dacc1a817b7ff9b9daedf853bd8
Author: amashenkov 
AuthorDate: Tue Aug 27 17:51:38 2024 +0300

WIP
---
 .../internal/sql/engine/ItAggregatesTest.java  | 23 ++---
 .../sql/engine/exec/exp/IgniteSqlFunctions.java|  2 +-
 .../sql/engine/exec/exp/agg/Accumulators.java  | 30 --
 .../sql/engine/rel/agg/MapReduceAggregates.java| 11 ++--
 4 files changed, 40 insertions(+), 26 deletions(-)

diff --git 
a/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItAggregatesTest.java
 
b/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItAggregatesTest.java
index 82c13c341e..b2efca852e 100644
--- 
a/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItAggregatesTest.java
+++ 
b/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItAggregatesTest.java
@@ -24,6 +24,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.math.BigDecimal;
 import java.math.MathContext;
+import java.math.RoundingMode;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
@@ -38,7 +39,6 @@ import 
org.apache.ignite.internal.testframework.WithSystemProperty;
 import org.apache.ignite.lang.IgniteException;
 import org.junit.jupiter.api.Assumptions;
 import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.Arguments;
@@ -553,9 +553,6 @@ public class ItAggregatesTest extends 
BaseSqlIntegrationTest {
 @ParameterizedTest
 @MethodSource("provideRules")
 public void testAvg(String[] rules) {
-Assumptions.assumeFalse(Arrays.stream(rules).filter(r -> 
r.startsWith("MapReduce")).count() == 1,
-"need to be fixed after: 
https://issues.apache.org/jira/browse/IGNITE-22988";);
-
 sql("DELETE FROM numbers");
 sql("INSERT INTO numbers VALUES (1, 1, 1, 1, 1, 1, 1, 1, 1, 1), (2, 2, 
2, 2, 2, 2, 2, 2, 2, 2)");
 
@@ -564,7 +561,7 @@ public class ItAggregatesTest extends 
BaseSqlIntegrationTest {
 + "AVG(float_col), AVG(double_col), AVG(dec2_col), 
AVG(dec4_2_col) "
 + "FROM numbers")
 .disableRules(rules)
-.returns((byte) 1, (short) 1, 1, 1L, 1.5f, 1.5d, new 
BigDecimal("1.5"), new BigDecimal("1.50"))
+.returns((byte) 2, (short) 2, 2, 2L, 1.5f, 1.5d, new 
BigDecimal("2"), new BigDecimal("1.50"))
 .check();
 
 sql("DELETE FROM numbers");
@@ -580,7 +577,7 @@ public class ItAggregatesTest extends 
BaseSqlIntegrationTest {
 
 assertQuery("SELECT AVG(dec4_2_col) FROM numbers")
 .disableRules(rules)
-.returns(new BigDecimal("1.665"))
+.returns(new BigDecimal("1.66"))
 .check();
 
 sql("DELETE FROM numbers");
@@ -601,7 +598,6 @@ public class ItAggregatesTest extends 
BaseSqlIntegrationTest {
 }
 
 @Test
-@Disabled("https://issues.apache.org/jira/browse/IGNITE-22988";)
 public void testAvgRandom() {
 long seed = System.nanoTime();
 Random random = new Random(seed);
@@ -617,12 +613,12 @@ public class ItAggregatesTest extends 
BaseSqlIntegrationTest {
 numbers.add(num);
 
 String query = "INSERT INTO numbers (id, int_col, dec10_2_col) 
VALUES(?, ?, ?)";
-sql(query, i, num.intValue(), num);
+sql(query, i, num.setScale(0, RoundingMode.HALF_UP).intValue(), 
num);
 }
 
 BigDecimal avg = numbers.stream()
 .reduce(new BigDecimal("0.00"), BigDecimal::add)
-.divide(BigDecimal.valueOf(numbers.size()), 
MathContext.DECIMAL64);
+.divide(BigDecimal.valueOf(numbers.size()), 2, 
RoundingMode.HALF_UP);
 
 for (String[] rules : makePermutations(DISABLED_RULES)) {
 assertQuery("SELECT AVG(int_col), AVG(dec10_2_col) FROM numbers")
@@ -640,7 +636,7 @@ public class ItAggregatesTest extends 
BaseSqlIntegrationTest {
 
 assertQuery("SELECT AVG(int_col), AVG(dec4_2_col) FROM 
not_null_numbers")
 .disableRules(rules)
-.returns(1, new BigDecimal("1.50"))
+.returns(2, new BigDecimal("1.50"))
 .check();
 
 // Return type of an AVG aggregate can never be null.
@@ -689,9 +685,6 @@ public class ItAggregatesTest extends 
BaseSqlInteg

(ignite-3) branch ignite-18747 deleted (was b62d0746bf)

2024-08-22 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-18747
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


 was b62d0746bf styles

The revisions that were on this branch are still contained in
other references; therefore, this change does not discard any commits
from the repository.



(ignite-3) branch main updated (0ed0ea0c5b -> e34ff1f252)

2024-08-22 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


from 0ed0ea0c5b IGNITE-23053 Get rid of 
CatalogTableDescriptor#creationToken (#4266)
 add e34ff1f252 IGNITE-18747 Sql. Provide commands and handlers for index 
rename operation (#4253)

No new revisions were added by this update.

Summary of changes:
 .../catalog/CatalogParamsValidationUtils.java  |  13 +++
 .../catalog/commands/AbstractIndexCommand.java |   2 +
 .../catalog/commands/AbstractTableCommand.java |   6 +-
 .../internal/catalog/commands/CatalogUtils.java|   2 +-
 ...meTableCommand.java => RenameIndexCommand.java} |  62 ++--
 ...Builder.java => RenameIndexCommandBuilder.java} |  17 ++--
 .../ignite/internal/catalog/CatalogIndexTest.java  |  78 +++
 .../AlterTableAddColumnCommandValidationTest.java  |   2 +-
 ...AlterTableAlterColumnCommandValidationTest.java |   2 +-
 .../AlterTableDropColumnCommandValidationTest.java |   2 +-
 .../commands/CreateTableCommandValidationTest.java |   2 +-
 .../commands/DropTableCommandValidationTest.java   |   2 +-
 java => RenameIndexCommandValidationTest.java} | 107 ++---
 .../commands/RenameTableCommandValidationTest.java |   2 +-
 .../internal/catalog/BaseCatalogManagerTest.java   |   9 ++
 .../internal/sql/engine/ItCreateTableDdlTest.java  |   2 +-
 16 files changed, 204 insertions(+), 106 deletions(-)
 copy 
modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/{RenameTableCommand.java
 => RenameIndexCommand.java} (57%)
 copy 
modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/{RenameTableCommandBuilder.java
 => RenameIndexCommandBuilder.java} (62%)
 copy 
modules/catalog/src/test/java/org/apache/ignite/internal/catalog/commands/{RenameTableCommandValidationTest.java
 => RenameIndexCommandValidationTest.java} (63%)



(ignite-3) branch ignite-18747 updated (52a0326bf9 -> b62d0746bf)

2024-08-22 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-18747
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


from 52a0326bf9 add test
 add b62d0746bf styles

No new revisions were added by this update.

Summary of changes:
 .../apache/ignite/internal/catalog/commands/AbstractTableCommand.java   | 1 -
 .../test/java/org/apache/ignite/internal/catalog/CatalogIndexTest.java  | 2 --
 2 files changed, 3 deletions(-)



(ignite-3) branch ignite-18747 updated (0557a55148 -> 52a0326bf9)

2024-08-22 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-18747
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


 discard 0557a55148 add test
 discard dc191004d3 Support index renaming.
 add 24c541dfe9 IGNITE-22861 Sql. Make mapping parameters respect 
mapOnBackups flag (#4195)
 add bb17fa5233 IGNITE-22853 Sql. Repair CorrelatedSubqueryPlannerTest 
(#4211)
 add d716651d0d IGNITE-23031 Fix parameter completion when option is 
present (#4250)
 add 9ad100c341 IGNITE-22977 Reduced latency for txn preparing phase.
 add 481ecc76b4 IGNITE-23032 Fix compilation issue.
 add d32e51bcbc IGNITE-23029 Cluster#startAndInit() should wait for node 
registration (#4249)
 add d47db94afa IGNITE-22469 DB API Driver: Implement simple query 
execution (#4252)
 add 11eaf8f587 IGNITE-19395 Use indirect addressing when storing rows in 
RocksDb (#4200)
 add 194bc391c8 IGNITE-22373 Delete startReplica(ReplicationGroupId, 
PeersAndLearners, Function, PendingComparableValuesTracker, CompletableFuture) 
(#4144)
 add b86f3e1650 IGNITE-20073 Sql. Inconsistent error message upon inserting 
a NULL value into a NOT NULL column (#4247)
 add f8fbbb1961 IGNITE-22877 Implement basic in-process IgniteServer 
restart (#4239)
 add 7ca28fc03e IGNITE-22778 Sql. DECODE can't convert INT to DECIMAL 
(#4174)
 add d3f54cd331 IGNITE-23026 Improve configuration structure (#4248)
 add 6553182a1c IGNITE-22963 Remove fastutils from dependencies of 
ignite-api (#4246)
 add 6489c8f76c IGNITE-23045 Fix parameters order in 
SharedRocksDbInstanceCreator (#4258)
 add 2c1d62b07b IGNITE-22482 Add topmost root to node configuration (#4244)
 add cad7a764dc IGNITE-23035 Add topmost root for cluster configuration 
(#4254)
 add f66762a980 IGNITE-22945 Remove duplicate method from 
CatalogTableDescriptor (#4259)
 add 279030d868 IGNITE-23047 Fix flaky 
MvPartitionStoragesTest#testWaitOperationOnGetAllForCloseOrDestroy (#4262)
 add b014b54aab IGNITE-23044 Reuse ClusterPerTestIntegrationTest in some 
test classes (#4257)
 add 6c2a159568 Support index renaming.
 add 52a0326bf9 add test

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (0557a55148)
\
 N -- N -- N   refs/heads/ignite-18747 (52a0326bf9)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 .../config/cluster-config.adoc |   6 +-
 .../administrators-guide/config/node-config.adoc   |  30 +-
 .../config/storage/persistent.adoc |   6 +-
 .../config/storage/table-configuration.adoc|   4 +-
 .../config/storage/volatile.adoc   |   3 +-
 docs/_docs/developers-guide/data-streamer.adoc |   2 +-
 docs/_docs/general-tips.adoc   |   4 +-
 examples/config/ignite-config.conf |  52 +--
 modules/api/build.gradle   |   1 -
 .../java/org/apache/ignite/lang/ErrorGroup.java|   6 +-
 .../java/org/apache/ignite/lang/ErrorGroups.java   |   6 +-
 .../apache/ignite/table/DataStreamerOptions.java   |  28 +-
 modules/catalog/build.gradle   |   1 +
 .../catalog/CatalogParamsValidationUtils.java  |  13 +
 .../catalog/commands/AbstractIndexCommand.java |   7 +-
 .../catalog/commands/AbstractTableCommand.java |   7 +-
 .../internal/catalog/commands/CatalogUtils.java|   2 +-
 .../SchemaSynchronizationConfigurationModule.java  |   7 +-
 .../SchemaSynchronizationConfigurationSchema.java  |   5 +-
 ...nchronizationExtensionConfigurationSchema.java} |  14 +-
 .../descriptors/CatalogTableDescriptor.java|  12 -
 .../ignite/internal/catalog/CatalogTableTest.java  |   2 +-
 .../AlterTableAddColumnCommandValidationTest.java  |   2 +-
 ...AlterTableAlterColumnCommandValidationTest.java |   2 +-
 .../AlterTableDropColumnCommandValidationTest.java |   2 +-
 .../commands/CreateTableCommandValidationTest.java |   2 +-
 .../commands/DropTableCommandValidationTest.java   |   2 +-
 .../commands/RenameIndexCommandValidationTest.java |   6 +-
 .../commands/RenameTableCommandValidationTest.java |   2 +-
 ...hemaSynchronizationConfigurationModuleTest.java |   4 +-
 .../org/apache/ignite/internal/NodeConfig.java |   4 +-
 .../configuration/ItShowConfigurationCallTest.java |   4 +-
 .../ItUpdateConfigurationCallTe

(ignite-3) branch ignite-22945 deleted (was bce196b708)

2024-08-22 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22945
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


 was bce196b708 drop redundant method.

The revisions that were on this branch are still contained in
other references; therefore, this change does not discard any commits
from the repository.



(ignite-3) branch main updated (cad7a764dc -> f66762a980)

2024-08-22 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


from cad7a764dc IGNITE-23035 Add topmost root for cluster configuration 
(#4254)
 add f66762a980 IGNITE-22945 Remove duplicate method from 
CatalogTableDescriptor (#4259)

No new revisions were added by this update.

Summary of changes:
 .../internal/catalog/descriptors/CatalogTableDescriptor.java | 12 
 .../org/apache/ignite/internal/catalog/CatalogTableTest.java |  2 +-
 .../ignite/internal/sql/engine/schema/IgniteIndex.java   |  2 +-
 3 files changed, 2 insertions(+), 14 deletions(-)



(ignite-3) branch ignite-22945 created (now bce196b708)

2024-08-21 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22945
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


  at bce196b708 drop redundant method.

This branch includes the following new commits:

 new bce196b708 drop redundant method.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.




(ignite-3) 01/01: drop redundant method.

2024-08-21 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a commit to branch ignite-22945
in repository https://gitbox.apache.org/repos/asf/ignite-3.git

commit bce196b70871d3dc796215e4b7a1c82ad6cdca11
Author: amashenkov 
AuthorDate: Wed Aug 21 19:10:45 2024 +0300

drop redundant method.
---
 .../internal/catalog/descriptors/CatalogTableDescriptor.java | 12 
 .../org/apache/ignite/internal/catalog/CatalogTableTest.java |  2 +-
 .../ignite/internal/sql/engine/schema/IgniteIndex.java   |  2 +-
 3 files changed, 2 insertions(+), 14 deletions(-)

diff --git 
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/descriptors/CatalogTableDescriptor.java
 
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/descriptors/CatalogTableDescriptor.java
index 2efed95c55..2165ac2f5f 100644
--- 
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/descriptors/CatalogTableDescriptor.java
+++ 
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/descriptors/CatalogTableDescriptor.java
@@ -165,18 +165,6 @@ public class CatalogTableDescriptor extends 
CatalogObjectDescriptor {
 );
 }
 
-/**
- * Returns column descriptor for column with given name.
- */
-public CatalogTableColumnDescriptor columnDescriptor(String columnName) {
-Entry column = 
columnsMap.get(columnName);
-if (column != null) {
-return column.getValue();
-} else {
-return null;
-}
-}
-
 /**
  * Returns an identifier of a schema this table descriptor belongs to.
  */
diff --git 
a/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/CatalogTableTest.java
 
b/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/CatalogTableTest.java
index 826057af1a..5aaa6d181e 100644
--- 
a/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/CatalogTableTest.java
+++ 
b/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/CatalogTableTest.java
@@ -167,7 +167,7 @@ public class CatalogTableTest extends 
BaseCatalogManagerTest {
 assertTrue(pkIndex.unique());
 assertEquals(AVAILABLE, pkIndex.status());
 
-CatalogTableColumnDescriptor desc = table.columnDescriptor("key1");
+CatalogTableColumnDescriptor desc = table.column("key1");
 assertNotNull(desc);
 // INT32 key
 assertThat(desc.precision(), is(DEFAULT_PRECISION));
diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/IgniteIndex.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/IgniteIndex.java
index 763820b4d0..8684e11e8f 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/IgniteIndex.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/IgniteIndex.java
@@ -195,7 +195,7 @@ public class IgniteIndex {
 List fieldCollations = new 
ArrayList<>(columns.size());
 
 for (String columnName : columns) {
-CatalogTableColumnDescriptor tableColumn = 
tableDescriptor.columnDescriptor(columnName);
+CatalogTableColumnDescriptor tableColumn = 
tableDescriptor.column(columnName);
 int fieldIndex = 
tableDescriptor.columns().indexOf(tableColumn);
 
 fieldCollations.add(new RelFieldCollation(fieldIndex, 
Direction.CLUSTERED, NullDirection.UNSPECIFIED));



(ignite-3) branch ignite-18747 updated (ce29481bdd -> 0557a55148)

2024-08-21 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-18747
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


omit ce29481bdd Support index renaming.
 add dc191004d3 Support index renaming.
 add 0557a55148 add test

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (ce29481bdd)
\
 N -- N -- N   refs/heads/ignite-18747 (0557a55148)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 .../internal/catalog/commands/AbstractIndexCommand.java   |  5 +
 .../commands/RenameIndexCommandValidationTest.java| 15 +++
 .../sql/engine/prepare/ddl/DdlSqlToCommandConverter.java  |  2 --
 3 files changed, 20 insertions(+), 2 deletions(-)



(ignite-3) branch ignite-22963 deleted (was 148e58e900)

2024-08-21 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22963
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


 was 148e58e900 Drop unwanted dependency.

The revisions that were on this branch are still contained in
other references; therefore, this change does not discard any commits
from the repository.



(ignite-3) branch main updated (d3f54cd331 -> 6553182a1c)

2024-08-21 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


from d3f54cd331 IGNITE-23026 Improve configuration structure (#4248)
 add 6553182a1c IGNITE-22963 Remove fastutils from dependencies of 
ignite-api (#4246)

No new revisions were added by this update.

Summary of changes:
 modules/api/build.gradle  | 1 -
 modules/api/src/main/java/org/apache/ignite/lang/ErrorGroup.java  | 6 +++---
 modules/api/src/main/java/org/apache/ignite/lang/ErrorGroups.java | 6 +++---
 3 files changed, 6 insertions(+), 7 deletions(-)



(ignite-3) branch ignite-18747 created (now ce29481bdd)

2024-08-20 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-18747
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


  at ce29481bdd Support index renaming.

This branch includes the following new commits:

 new ce29481bdd Support index renaming.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.




(ignite-3) 01/01: Support index renaming.

2024-08-20 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a commit to branch ignite-18747
in repository https://gitbox.apache.org/repos/asf/ignite-3.git

commit ce29481bdd02abed4d4484d542dc5dd2a3542848
Author: amashenkov 
AuthorDate: Tue Aug 20 18:50:50 2024 +0300

Support index renaming.
---
 .../catalog/commands/RenameIndexCommand.java   | 116 
 .../commands/RenameIndexCommandBuilder.java|  35 +
 .../ignite/internal/catalog/CatalogIndexTest.java  |  80 +++
 .../commands/RenameIndexCommandValidationTest.java | 153 +
 .../internal/catalog/BaseCatalogManagerTest.java   |   9 ++
 .../prepare/ddl/DdlSqlToCommandConverter.java  |   2 +
 6 files changed, 395 insertions(+)

diff --git 
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/RenameIndexCommand.java
 
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/RenameIndexCommand.java
new file mode 100644
index 00..f4327eb6ac
--- /dev/null
+++ 
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/RenameIndexCommand.java
@@ -0,0 +1,116 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal.catalog.commands;
+
+import static 
org.apache.ignite.internal.catalog.CatalogParamsValidationUtils.ensureNoTableIndexOrSysViewExistsWithGivenName;
+import static 
org.apache.ignite.internal.catalog.CatalogParamsValidationUtils.validateIdentifier;
+import static 
org.apache.ignite.internal.catalog.commands.CatalogUtils.indexOrThrow;
+import static 
org.apache.ignite.internal.catalog.commands.CatalogUtils.schemaOrThrow;
+
+import java.util.List;
+import org.apache.ignite.internal.catalog.Catalog;
+import org.apache.ignite.internal.catalog.CatalogCommand;
+import org.apache.ignite.internal.catalog.CatalogValidationException;
+import org.apache.ignite.internal.catalog.descriptors.CatalogIndexDescriptor;
+import org.apache.ignite.internal.catalog.descriptors.CatalogSchemaDescriptor;
+import org.apache.ignite.internal.catalog.storage.RenameIndexEntry;
+import org.apache.ignite.internal.catalog.storage.UpdateEntry;
+
+/**
+ * A command that changes the name of an index.
+ */
+public class RenameIndexCommand extends AbstractIndexCommand {
+/** Returns a builder to create a command to rename an index. */
+public static RenameIndexCommandBuilder builder() {
+return new Builder();
+}
+
+private final String newIndexName;
+
+private final boolean ifIndexExists;
+
+private RenameIndexCommand(String schemaName, String indexName, boolean 
ifIndexExists, String newIndexName)
+throws CatalogValidationException {
+super(schemaName, indexName);
+
+validateIdentifier(newIndexName, "New index name");
+
+this.newIndexName = newIndexName;
+this.ifIndexExists = ifIndexExists;
+}
+
+@Override
+public List get(Catalog catalog) {
+CatalogSchemaDescriptor schema = schemaOrThrow(catalog, schemaName);
+
+CatalogIndexDescriptor index = indexOrThrow(schema, indexName);
+
+ensureNoTableIndexOrSysViewExistsWithGivenName(schema, newIndexName);
+
+return List.of(
+new RenameIndexEntry(index.id(), newIndexName)
+);
+}
+
+public boolean ifIndexExists() {
+return ifIndexExists;
+}
+
+private static class Builder implements RenameIndexCommandBuilder {
+private String schemaName;
+
+private String indexName;
+
+private boolean ifExists;
+
+private String newIndexName;
+
+@Override
+public RenameIndexCommandBuilder schemaName(String schemaName) {
+this.schemaName = schemaName;
+
+return this;
+}
+
+@Override
+public RenameIndexCommandBuilder indexName(String indexName) {
+this.indexName = indexName;
+
+return this;
+}
+
+@Override
+public RenameIndexCommandBuilder ifIndexExists(boolean ifExists) {
+this.ifExists = ifExists;
+
+return this;
+}
+
+@Override
+public RenameIn

(ignite-3) branch ignite-22861 deleted (was d5e95025ed)

2024-08-19 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22861
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


 was d5e95025ed Styles.

The revisions that were on this branch are still contained in
other references; therefore, this change does not discard any commits
from the repository.



(ignite-3) branch main updated: IGNITE-22861 Sql. Make mapping parameters respect mapOnBackups flag (#4195)

2024-08-19 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov 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 24c541dfe9 IGNITE-22861 Sql. Make mapping parameters respect 
mapOnBackups flag (#4195)
24c541dfe9 is described below

commit 24c541dfe9242a053ac6f681d486690764867f07
Author: Andrew V. Mashenkov 
AuthorDate: Mon Aug 19 18:00:32 2024 +0300

IGNITE-22861 Sql. Make mapping parameters respect mapOnBackups flag (#4195)
---
 .../sql/engine/exec/mapping/MappingParameters.java |  5 ++-
 .../exec/mapping/largecluster/AbstractTarget.java  |  2 +-
 .../mapping/largecluster/LargeClusterFactory.java  | 36 --
 .../mapping/smallcluster/SmallClusterFactory.java  | 34 +++-
 .../mapping/ExecutionTargetFactorySelfTest.java| 35 +
 .../exec/mapping/MappingServiceImplTest.java   | 24 +++
 6 files changed, 105 insertions(+), 31 deletions(-)

diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/mapping/MappingParameters.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/mapping/MappingParameters.java
index 1f586c4541..1e94ff3b89 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/mapping/MappingParameters.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/mapping/MappingParameters.java
@@ -25,6 +25,9 @@ public class MappingParameters {
 /** Empty mapping parameters. */
 public static final MappingParameters EMPTY = new 
MappingParameters(ArrayUtils.OBJECT_EMPTY_ARRAY, false);
 
+/** Allow map on backups. */
+public static final MappingParameters MAP_ON_BACKUPS = new 
MappingParameters(ArrayUtils.OBJECT_EMPTY_ARRAY, true);
+
 private final boolean mapOnBackups;
 private final Object[] dynamicParameters;
 
@@ -38,7 +41,7 @@ public class MappingParameters {
  */
 public static MappingParameters create(Object[] dynamicParameters, boolean 
mapOnBackups) {
 if (dynamicParameters.length == 0) {
-return EMPTY;
+return mapOnBackups ? MAP_ON_BACKUPS : EMPTY;
 } else {
 return new MappingParameters(dynamicParameters, mapOnBackups);
 }
diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/mapping/largecluster/AbstractTarget.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/mapping/largecluster/AbstractTarget.java
index 6d8c14c32e..dbbb862e37 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/mapping/largecluster/AbstractTarget.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/mapping/largecluster/AbstractTarget.java
@@ -39,7 +39,7 @@ abstract class AbstractTarget implements ExecutionTarget {
 final BitSet nodes;
 
 AbstractTarget(BitSet nodes) {
-assert !nodes.isEmpty();
+assert !nodes.isEmpty() : "Empty target is not allowed";
 
 this.nodes = nodes;
 }
diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/mapping/largecluster/LargeClusterFactory.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/mapping/largecluster/LargeClusterFactory.java
index 0cf12b78ba..ab81bece8e 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/mapping/largecluster/LargeClusterFactory.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/mapping/largecluster/LargeClusterFactory.java
@@ -51,7 +51,16 @@ public class LargeClusterFactory implements 
ExecutionTargetFactory {
 
 @Override
 public ExecutionTarget allOf(List nodes) {
-return new AllOfTarget(nodeListToMap(nodes));
+BitSet nodesSet = new BitSet(nodeNameToId.size());
+
+for (String name : nodes) {
+int id = nodeNameToId.getOrDefault(name, -1);
+assert id >= 0 : "invalid node";
+
+nodesSet.set(id);
+}
+
+return new AllOfTarget(nodesSet);
 }
 
 @Override
@@ -72,15 +81,20 @@ public class LargeClusterFactory implements 
ExecutionTargetFactory {
 int idx = 0;
 boolean finalised = true;
 for (TokenizedAssignments assignment : assignments) {
-finalised = finalised && assignment.nodes().size() < 2;
-
-BitSet nodes = new BitSet(assignment.nodes().size());
+BitSet nodes = new BitSet(nodeNameToId.size());
 for (Assignment a : assignment.nodes()) {
 int node = nodeNameToId.getOrDefault(a.consistentId(), -1);
-assert node >= 0 : "invalid node";
-nodes.set(node);
+
+   

(ignite-3) 01/01: Drop unwanted dependency.

2024-08-19 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a commit to branch ignite-22963
in repository https://gitbox.apache.org/repos/asf/ignite-3.git

commit 148e58e900799a6f6d01a9d807c67aec5b07c736
Author: amashenkov 
AuthorDate: Mon Aug 19 16:21:37 2024 +0300

Drop unwanted dependency.
---
 modules/api/build.gradle  | 1 -
 modules/api/src/main/java/org/apache/ignite/lang/ErrorGroup.java  | 6 +++---
 modules/api/src/main/java/org/apache/ignite/lang/ErrorGroups.java | 6 +++---
 3 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/modules/api/build.gradle b/modules/api/build.gradle
index 63face865d..247a782034 100644
--- a/modules/api/build.gradle
+++ b/modules/api/build.gradle
@@ -25,7 +25,6 @@ dependencies {
 annotationProcessor project(':ignite-error-code-annotation-processor')
 
 implementation project(':ignite-error-code-annotation-processor')
-implementation libs.fastutil.core
 implementation libs.jetbrains.annotations
 
 testImplementation libs.hamcrest.core
diff --git a/modules/api/src/main/java/org/apache/ignite/lang/ErrorGroup.java 
b/modules/api/src/main/java/org/apache/ignite/lang/ErrorGroup.java
index b564afbd2c..432698b290 100755
--- a/modules/api/src/main/java/org/apache/ignite/lang/ErrorGroup.java
+++ b/modules/api/src/main/java/org/apache/ignite/lang/ErrorGroup.java
@@ -20,8 +20,8 @@ package org.apache.ignite.lang;
 import static java.util.regex.Pattern.DOTALL;
 import static org.apache.ignite.lang.ErrorGroups.errorGroupByCode;
 
-import it.unimi.dsi.fastutil.ints.IntOpenHashSet;
-import it.unimi.dsi.fastutil.ints.IntSet;
+import java.util.HashSet;
+import java.util.Set;
 import java.util.UUID;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -46,7 +46,7 @@ public class ErrorGroup {
 private final short groupCode;
 
 /** Contains error codes for this error group. */
-private final IntSet codes = new IntOpenHashSet();
+private final Set codes = new HashSet<>();
 
 /**
  * Creates a new error group with the specified name and corresponding 
code.
diff --git a/modules/api/src/main/java/org/apache/ignite/lang/ErrorGroups.java 
b/modules/api/src/main/java/org/apache/ignite/lang/ErrorGroups.java
index 425a10dd3d..c0eb3e42f8 100755
--- a/modules/api/src/main/java/org/apache/ignite/lang/ErrorGroups.java
+++ b/modules/api/src/main/java/org/apache/ignite/lang/ErrorGroups.java
@@ -17,9 +17,9 @@
 
 package org.apache.ignite.lang;
 
-import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
-import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
+import java.util.HashMap;
 import java.util.Locale;
+import java.util.Map;
 import org.apache.ignite.error.code.annotations.ErrorCodeGroup;
 
 /**
@@ -28,7 +28,7 @@ import 
org.apache.ignite.error.code.annotations.ErrorCodeGroup;
 @SuppressWarnings("PublicInnerClass")
 public class ErrorGroups {
 /** List of all registered error groups. */
-private static final Int2ObjectMap registeredGroups = new 
Int2ObjectOpenHashMap<>();
+private static final Map registeredGroups = new 
HashMap<>();
 
 /**
  * Initializes and register all error groups and error codes.



(ignite-3) branch ignite-22963 created (now 148e58e900)

2024-08-19 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22963
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


  at 148e58e900 Drop unwanted dependency.

This branch includes the following new commits:

 new 148e58e900 Drop unwanted dependency.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.




(ignite-3) branch ignite-22722 deleted (was fc4c823288)

2024-08-14 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22722
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


 was fc4c823288 Minor after review.

The revisions that were on this branch are still contained in
other references; therefore, this change does not discard any commits
from the repository.



(ignite-3) branch main updated: IGNITE-22722 Add the ability to get assignments for a list of replication groups at once (#4206)

2024-08-14 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov 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 6beba4153a IGNITE-22722 Add the ability to get assignments for a list 
of replication groups at once (#4206)
6beba4153a is described below

commit 6beba4153ada043991311bde4425b24f12fc1247
Author: Andrew V. Mashenkov 
AuthorDate: Wed Aug 14 17:08:31 2024 +0300

IGNITE-22722 Add the ability to get assignments for a list of replication 
groups at once (#4206)
---
 .../compaction/CatalogCompactionRunner.java| 55 +
 .../CatalogCompactionRunnerSelfTest.java   | 16 --
 .../ignite/client/handler/FakePlacementDriver.java |  4 +-
 .../ignite/internal/index/TestPlacementDriver.java |  5 +-
 .../replicator/utils/TestPlacementDriver.java  |  5 +-
 .../AssignmentsPlacementDriver.java| 22 -
 .../placementdriver/TestPlacementDriver.java   |  5 +-
 .../placementdriver/AssignmentsTracker.java| 13 +++--
 .../placementdriver/PlacementDriverManager.java|  7 +--
 .../sql/engine/ExecutionTargetProviderImpl.java| 57 +-
 .../wrappers/DelegatingPlacementDriver.java|  7 +--
 11 files changed, 129 insertions(+), 67 deletions(-)

diff --git 
a/modules/catalog-compaction/src/main/java/org/apache/ignite/internal/catalog/compaction/CatalogCompactionRunner.java
 
b/modules/catalog-compaction/src/main/java/org/apache/ignite/internal/catalog/compaction/CatalogCompactionRunner.java
index 75e4bbb975..0b1337ddd8 100644
--- 
a/modules/catalog-compaction/src/main/java/org/apache/ignite/internal/catalog/compaction/CatalogCompactionRunner.java
+++ 
b/modules/catalog-compaction/src/main/java/org/apache/ignite/internal/catalog/compaction/CatalogCompactionRunner.java
@@ -23,7 +23,6 @@ import static 
org.apache.ignite.internal.util.IgniteUtils.inBusyLock;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Set;
 import java.util.concurrent.CompletableFuture;
@@ -31,7 +30,6 @@ import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.Executor;
 import java.util.concurrent.atomic.AtomicLong;
 import java.util.stream.Collectors;
-import org.apache.ignite.internal.affinity.Assignment;
 import org.apache.ignite.internal.affinity.TokenizedAssignments;
 import org.apache.ignite.internal.catalog.Catalog;
 import org.apache.ignite.internal.catalog.CatalogManagerImpl;
@@ -318,53 +316,44 @@ public class CatalogCompactionRunner implements 
IgniteComponent {
 HybridTimestamp nowTs = clockService.now();
 Set required = Collections.newSetFromMap(new 
ConcurrentHashMap<>());
 
-// TODO https://issues.apache.org/jira/browse/IGNITE-22722 This method 
needs to be simplified.
-return collectRequiredNodes(catalog, new 
ArrayList<>(catalog.tables()).iterator(), required, nowTs);
+return CompletableFutures.allOf(catalog.tables().stream()
+.map(table -> collectRequiredNodes(catalog, table, required, 
nowTs))
+.collect(Collectors.toList())
+).thenApply(ignore -> required);
 }
 
-private CompletableFuture> collectRequiredNodes(
+private CompletableFuture collectRequiredNodes(
 Catalog catalog,
-Iterator tabItr,
+CatalogTableDescriptor table,
 Set required,
 HybridTimestamp nowTs
 ) {
-if (!tabItr.hasNext()) {
-return CompletableFuture.completedFuture(required);
-}
-
-CatalogTableDescriptor table = tabItr.next();
 CatalogZoneDescriptor zone = catalog.zone(table.zoneId());
 
 assert zone != null : table.zoneId();
 
-List> partitionFutures = new 
ArrayList<>(zone.partitions());
+int partitions = zone.partitions();
 
-for (int p = 0; p < zone.partitions(); p++) {
-ReplicationGroupId replicationGroupId = new 
TablePartitionId(table.id(), p);
+List replicationGroupIds = new 
ArrayList<>(partitions);
 
-CompletableFuture assignmentsFut = 
placementDriver.getAssignments(replicationGroupId, nowTs)
-.whenComplete((tokenizedAssignments, ex) -> {
-if (ex != null) {
-return;
-}
+for (int p = 0; p < partitions; p++) {
+replicationGroupIds.add(new TablePartitionId(table.id(), p));
+}
+
+return placementDriver.getAssignments(replicationGroupIds, nowTs)
+.thenAccept(tokenizedAssignments -> {
+assert tokenizedAssignments.size() == 
replicationGroupIds.size();
 
-if (tokenizedAssignments == null) {
+ 

(ignite-3) branch ignite-22861 updated (3839dba29f -> d5e95025ed)

2024-08-14 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22861
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


from 3839dba29f Minor after review.
 add d5e95025ed Styles.

No new revisions were added by this update.

Summary of changes:
 .../mapping/ExecutionTargetFactorySelfTest.java| 24 --
 1 file changed, 13 insertions(+), 11 deletions(-)



(ignite-3) branch ignite-22722 updated (0b762d400f -> fc4c823288)

2024-08-14 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22722
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


from 0b762d400f Styles
 add fc4c823288 Minor after review.

No new revisions were added by this update.

Summary of changes:
 .../ignite/internal/sql/engine/ExecutionTargetProviderImpl.java   | 8 +---
 1 file changed, 5 insertions(+), 3 deletions(-)



(ignite-3) branch ignite-22861 updated (3f89d5609c -> 3839dba29f)

2024-08-14 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22861
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


from 3f89d5609c Mute test.
 add 3839dba29f Minor after review.

No new revisions were added by this update.

Summary of changes:
 .../exec/mapping/largecluster/AbstractTarget.java  |  2 +-
 .../mapping/largecluster/LargeClusterFactory.java  | 25 --
 .../mapping/smallcluster/SmallClusterFactory.java  | 22 +++
 .../mapping/ExecutionTargetFactorySelfTest.java| 25 --
 4 files changed, 51 insertions(+), 23 deletions(-)



(ignite-3) branch ignite-22861 updated (83bf7cb8d2 -> 3f89d5609c)

2024-08-09 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22861
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


from 83bf7cb8d2 Add todo
 add 3f89d5609c Mute test.

No new revisions were added by this update.

Summary of changes:
 .../sql/engine/exec/mapping/ExecutionTargetFactorySelfTest.java   | 8 +++-
 1 file changed, 7 insertions(+), 1 deletion(-)



(ignite-3) branch ignite-22861 updated (0ea7231b9f -> 83bf7cb8d2)

2024-08-09 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22861
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


from 0ea7231b9f Fix test
 add 83bf7cb8d2 Add todo

No new revisions were added by this update.

Summary of changes:
 .../sql/engine/exec/mapping/largecluster/LargeClusterFactory.java   | 2 ++
 .../sql/engine/exec/mapping/smallcluster/SmallClusterFactory.java   | 2 ++
 2 files changed, 4 insertions(+)



(ignite-3) branch ignite-22861 updated (dcae0d9b39 -> 0ea7231b9f)

2024-08-09 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22861
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


from dcae0d9b39 Merge branch 'main' into ignite-22861
 add 0ea7231b9f Fix test

No new revisions were added by this update.

Summary of changes:
 .../exec/mapping/largecluster/LargeClusterFactory.java   | 11 +++
 .../exec/mapping/smallcluster/SmallClusterFactory.java   | 12 
 2 files changed, 15 insertions(+), 8 deletions(-)



(ignite-3) branch ignite-22681 deleted (was 0f20f51d54)

2024-08-09 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22681
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


 was 0f20f51d54 Styles

The revisions that were on this branch are still contained in
other references; therefore, this change does not discard any commits
from the repository.



(ignite-3) branch ignite-22722 updated (b5b1ea302d -> 0b762d400f)

2024-08-09 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22722
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


from b5b1ea302d Styles
 add 0b762d400f Styles

No new revisions were added by this update.

Summary of changes:
 .../ignite/internal/catalog/compaction/CatalogCompactionRunner.java  | 1 -
 1 file changed, 1 deletion(-)



(ignite-3) branch main updated: IGNITE-22681 Get rid of Session mention in AI3 (#4188)

2024-08-09 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov 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 2dd365ea79 IGNITE-22681 Get rid of Session mention in AI3  (#4188)
2dd365ea79 is described below

commit 2dd365ea79eee8ef7699f917317f920d428ae396
Author: Andrew V. Mashenkov 
AuthorDate: Fri Aug 9 11:00:13 2024 +0300

IGNITE-22681 Get rid of Session mention in AI3  (#4188)
---
 .../administrators-guide/handling-exceptions.adoc  | 22 -
 docs/_docs/developers-guide/clients/java.adoc  |  2 +-
 docs/_docs/quick-start/embedded-mode.adoc  |  4 +-
 .../main/java/org/apache/ignite/sql/IgniteSql.java |  2 +-
 .../src/main/java/org/apache/ignite/sql/README.md  | 12 +++--
 .../main/java/org/apache/ignite/sql/Statement.java |  2 +-
 modules/placement-driver/build.gradle  |  1 +
 .../ItPrimaryReplicaChoiceTest.java|  2 +-
 .../ItSchemaForwardCompatibilityTest.java  |  2 +-
 .../ItSchemaSyncAndImplicitTransactionsTest.java   |  2 +-
 .../schemasync/ItSchemaSyncAndReplicationTest.java |  2 +-
 .../schemasync/ItSchemaSyncMultiNodeTest.java  |  2 +-
 .../schemasync/ItSchemaSyncSingleNodeTest.java |  2 +-
 .../ignite/internal/table/ItDurableFinishTest.java |  2 +-
 .../partition/ItAbstractPartitionManagerTest.java  |  2 +-
 .../org/apache/ignite/internal/SessionUtils.java   | 52 --
 .../internal/sql/engine/util/SqlTestUtils.java | 28 
 .../raftsnapshot/ItTableRaftSnapshotsTest.java |  2 +-
 .../ignite/internal/rebalance/ItRebalanceTest.java |  2 +-
 .../internal/table/ItOperationRetryTest.java   |  2 +-
 .../table/ItTransactionPrimaryChangeTest.java  |  2 +-
 .../internal/table/ItTransactionRecoveryTest.java  |  2 +-
 .../internal/table/ItTxResourcesVacuumTest.java|  2 +-
 modules/transactions/build.gradle  |  1 +
 .../tx/readonly/ItReadOnlyTxInPastTest.java|  2 +-
 25 files changed, 63 insertions(+), 93 deletions(-)

diff --git a/docs/_docs/administrators-guide/handling-exceptions.adoc 
b/docs/_docs/administrators-guide/handling-exceptions.adoc
index 3a9a65479e..937ddbdb74 100644
--- a/docs/_docs/administrators-guide/handling-exceptions.adoc
+++ b/docs/_docs/administrators-guide/handling-exceptions.adoc
@@ -73,19 +73,15 @@ When the exception happens, Ignite 3 provides a UUID of the 
specific exception,
 |===
 |Exception |Description
 
-|`IGN-SQL-1`|Failed to read a page after last existing one.
-|`IGN-SQL-2`|Failed to read response from a query that does not return rows.
-|`IGN-SQL-3`|Schema not found error.
-|`IGN-SQL-4`|Cursor is already closed error.
-|`IGN-SQL-5`|Statement parsing error. SQL string is not grammatically valid.
-|`IGN-SQL-6`|Statement validation error.SQL string is not semantically valid 
or contains prohibited operations.
-|`IGN-SQL-7`|Constraint violation error, for example, primary key violation.
-|`IGN-SQL-8`|Statement got cancelled.
-|`IGN-SQL-9`|Runtime error. Usually caused an SQL error, for example numeric 
overflow.
-|`IGN-SQL-10`|Planning timed out without finding any valid plan.
-|`IGN-SQL-11`|Operation got rejected because SQL session was closed.
-|`IGN-SQL-12`|SQL engine was unable to map query on current cluster topology. 
Most likely, the partition or view is not available because all nodes 
containing it are offline.
-|`IGN-SQL-13`|Execution of transaction control statement inside an external 
transaction is forbidden.
+|`IGN-SQL-1`|Failed to read response from a query that does not return rows.
+|`IGN-SQL-2`|Schema not found error.
+|`IGN-SQL-3`|Statement parsing error. SQL string is not grammatically valid.
+|`IGN-SQL-4`|Statement validation error.SQL string is not semantically valid 
or contains prohibited operations.
+|`IGN-SQL-5`|Constraint violation error, for example, primary key violation.
+|`IGN-SQL-6`|Statement got cancelled.
+|`IGN-SQL-7`|Runtime error. Usually caused an SQL error, for example numeric 
overflow.
+|`IGN-SQL-8`|SQL engine was unable to map query on current cluster topology. 
Most likely, the partition or view is not available because all nodes 
containing it are offline.
+|`IGN-SQL-9`|Execution of transaction control statement inside an external 
transaction is forbidden.
 |===
 
 == Meta Storage Exceptions
diff --git a/docs/_docs/developers-guide/clients/java.adoc 
b/docs/_docs/developers-guide/clients/java.adoc
index 13fbceff83..bda4d567ce 100644
--- a/docs/_docs/developers-guide/clients/java.adoc
+++ b/docs/_docs/developers-guide/clients/java.adoc
@@ -93,7 +93,7 @@ String script = ""
 + "CREATE TABLE IF NOT EXISTS Person (id int primary key, 
city_id int, name varchar, age int, company varchar);"
 + "INSERT INTO Person (1,3, John, 43, Sample)";
 
-ignite.sql().createSession().executeScript(script);
+ign

(ignite-3) branch ignite-22722 updated (c5fb037768 -> b5b1ea302d)

2024-08-08 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22722
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


from c5fb037768 Use bulk method for getting assignments for backups.
 add b5b1ea302d Styles

No new revisions were added by this update.

Summary of changes:
 .../catalog/compaction/CatalogCompactionRunner.java| 18 +++---
 1 file changed, 7 insertions(+), 11 deletions(-)



(ignite-3) branch ignite-22681 updated (f80e8264ea -> 0f20f51d54)

2024-08-08 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22681
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


omit f80e8264ea Styles
 add 0f20f51d54 Styles

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (f80e8264ea)
\
 N -- N -- N   refs/heads/ignite-22681 (0f20f51d54)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 .../ignite/internal/schemasync/ItSchemaSyncAndReplicationTest.java  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)



(ignite-3) branch ignite-22722 updated (48afd0fa81 -> c5fb037768)

2024-08-08 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22722
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


 discard 48afd0fa81 fixup! Add bulk method for getting assignments.
 discard 3c31ecf692 Use bulk method for getting assignments for backups.
 add 435b61a061 fixup! Add bulk method for getting assignments.
 add c5fb037768 Use bulk method for getting assignments for backups.

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (48afd0fa81)
\
 N -- N -- N   refs/heads/ignite-22722 (c5fb037768)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 .../catalog/compaction/CatalogCompactionRunner.java|  2 ++
 .../compaction/CatalogCompactionRunnerSelfTest.java| 14 ++
 2 files changed, 12 insertions(+), 4 deletions(-)



(ignite-3) branch ignite-22722 updated (3c31ecf692 -> 48afd0fa81)

2024-08-08 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22722
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


from 3c31ecf692 Use bulk method for getting assignments for backups.
 add 48afd0fa81 fixup! Add bulk method for getting assignments.

No new revisions were added by this update.

Summary of changes:
 .../catalog/compaction/CatalogCompactionRunnerSelfTest.java | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)



(ignite-3) branch ignite-22722 updated: Use bulk method for getting assignments for backups.

2024-08-08 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a commit to branch ignite-22722
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


The following commit(s) were added to refs/heads/ignite-22722 by this push:
 new 3c31ecf692 Use bulk method for getting assignments for backups.
3c31ecf692 is described below

commit 3c31ecf692def5bdae8202cd5470f8437b500554
Author: amashenkov 
AuthorDate: Thu Aug 8 13:43:20 2024 +0300

Use bulk method for getting assignments for backups.
---
 .../sql/engine/ExecutionTargetProviderImpl.java| 55 +-
 1 file changed, 44 insertions(+), 11 deletions(-)

diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/ExecutionTargetProviderImpl.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/ExecutionTargetProviderImpl.java
index 3992941bb3..a00f7bdc58 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/ExecutionTargetProviderImpl.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/ExecutionTargetProviderImpl.java
@@ -26,6 +26,8 @@ import static 
org.apache.ignite.internal.util.CollectionUtils.nullOrEmpty;
 import static org.apache.ignite.internal.util.ExceptionUtils.withCause;
 import static 
org.apache.ignite.lang.ErrorGroups.Replicator.REPLICA_UNAVAILABLE_ERR;
 
+import it.unimi.dsi.fastutil.ints.IntArrayList;
+import it.unimi.dsi.fastutil.ints.IntList;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Set;
@@ -104,15 +106,23 @@ public class ExecutionTargetProviderImpl implements 
ExecutionTargetProvider {
 ) {
 int partitions = table.partitions();
 
+if (includeBackups) {
+List replicationGroupIds = new 
ArrayList<>(partitions);
+
+for (int p = 0; p < partitions; p++) {
+replicationGroupIds.add(new TablePartitionId(table.id(), p));
+}
+
+return allReplicas(replicationGroupIds, operationTime);
+}
+
 List> result = new 
ArrayList<>(partitions);
 
 // no need to wait all partitions after pruning was implemented.
 for (int partId = 0; partId < partitions; ++partId) {
 ReplicationGroupId partGroupId = new TablePartitionId(table.id(), 
partId);
 
-CompletableFuture partitionAssignment = 
includeBackups
-? allReplicas(partGroupId, operationTime)
-: primaryReplica(partGroupId, operationTime);
+CompletableFuture partitionAssignment = 
primaryReplica(partGroupId, operationTime);
 
 result.add(partitionAssignment);
 }
@@ -152,22 +162,45 @@ public class ExecutionTargetProviderImpl implements 
ExecutionTargetProvider {
 });
 }
 
-private CompletableFuture allReplicas(
-ReplicationGroupId replicationGroupId,
+private CompletableFuture> allReplicas(
+List replicationGroupIds,
 HybridTimestamp operationTime
 ) {
-CompletableFuture f = 
placementDriver.getAssignments(
-replicationGroupId,
+CompletableFuture> f = 
placementDriver.getAssignments(
+replicationGroupIds,
 operationTime
 );
 
 return f.thenCompose(assignments -> {
-if (assignments == null) {
-// assignments are not ready yet, let's fall back to primary 
replicas
-return primaryReplica(replicationGroupId, operationTime);
+// Collect missed assignments indexes if found.
+IntList missedAssignments = new IntArrayList(0);
+
+for (int i = 0; i < assignments.size(); i++) {
+if (assignments.get(i) == null) {
+missedAssignments.add(i);
+}
+}
+
+if (missedAssignments.isEmpty()) {
+return completedFuture(assignments);
 }
 
-return completedFuture(assignments);
+// assignments are not ready yet, let's fall back to primary 
replicas
+List> 
primaryReplicaAssignment = new ArrayList<>(missedAssignments.size());
+
+for (int i = 0; i < missedAssignments.size(); i++) {
+
primaryReplicaAssignment.add(primaryReplica(replicationGroupIds.get(missedAssignments.getInt(i)),
 operationTime));
+}
+
+CompletableFuture all = 
CompletableFuture.allOf(primaryReplicaAssignment.toArray(new 
CompletableFuture[0]));
+return all.thenApply(ignore -> {
+// Replace missed assignments with primary replicas.
+for (int i = 0; i < missedAssignments.size(); i++) {
+assignments.set(missedAssignments.getInt(i), 
primaryReplicaAssignment.get(i).join());
+}
+
+return assignments;
+});
 });
 }
 }



(ignite-3) branch ignite-22722 created (now abc8c453f4)

2024-08-08 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22722
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


  at abc8c453f4 Add bulk method for getting assignments.

This branch includes the following new commits:

 new abc8c453f4 Add bulk method for getting assignments.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.




(ignite-3) 01/01: Add bulk method for getting assignments.

2024-08-08 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a commit to branch ignite-22722
in repository https://gitbox.apache.org/repos/asf/ignite-3.git

commit abc8c453f449f9695351b819c1259367bab4f277
Author: amashenkov 
AuthorDate: Thu Aug 8 12:56:23 2024 +0300

Add bulk method for getting assignments.
---
 .../compaction/CatalogCompactionRunner.java| 36 +-
 .../ignite/client/handler/FakePlacementDriver.java |  4 +--
 .../ignite/internal/index/TestPlacementDriver.java |  5 +--
 .../replicator/utils/TestPlacementDriver.java  |  5 +--
 .../AssignmentsPlacementDriver.java| 22 -
 .../placementdriver/TestPlacementDriver.java   |  5 +--
 .../placementdriver/AssignmentsTracker.java| 13 ++--
 .../placementdriver/PlacementDriverManager.java|  7 +++--
 .../wrappers/DelegatingPlacementDriver.java|  7 +++--
 9 files changed, 64 insertions(+), 40 deletions(-)

diff --git 
a/modules/catalog-compaction/src/main/java/org/apache/ignite/internal/catalog/compaction/CatalogCompactionRunner.java
 
b/modules/catalog-compaction/src/main/java/org/apache/ignite/internal/catalog/compaction/CatalogCompactionRunner.java
index 75e4bbb975..255ee1f301 100644
--- 
a/modules/catalog-compaction/src/main/java/org/apache/ignite/internal/catalog/compaction/CatalogCompactionRunner.java
+++ 
b/modules/catalog-compaction/src/main/java/org/apache/ignite/internal/catalog/compaction/CatalogCompactionRunner.java
@@ -31,7 +31,6 @@ import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.Executor;
 import java.util.concurrent.atomic.AtomicLong;
 import java.util.stream.Collectors;
-import org.apache.ignite.internal.affinity.Assignment;
 import org.apache.ignite.internal.affinity.TokenizedAssignments;
 import org.apache.ignite.internal.catalog.Catalog;
 import org.apache.ignite.internal.catalog.CatalogManagerImpl;
@@ -337,33 +336,26 @@ public class CatalogCompactionRunner implements 
IgniteComponent {
 
 assert zone != null : table.zoneId();
 
-List> partitionFutures = new 
ArrayList<>(zone.partitions());
+int partitions = zone.partitions();
 
-for (int p = 0; p < zone.partitions(); p++) {
-ReplicationGroupId replicationGroupId = new 
TablePartitionId(table.id(), p);
+List replicationGroupIds = new 
ArrayList<>(partitions);
 
-CompletableFuture assignmentsFut = 
placementDriver.getAssignments(replicationGroupId, nowTs)
-.whenComplete((tokenizedAssignments, ex) -> {
-if (ex != null) {
-return;
-}
+for (int p = 0; p < partitions; p++) {
+replicationGroupIds.add(new TablePartitionId(table.id(), p));
+}
 
-if (tokenizedAssignments == null) {
+return placementDriver.getAssignments(replicationGroupIds, nowTs)
+.thenAccept(tokenizedAssignments -> {
+for (int p = 0; p < partitions; p++) {
+TokenizedAssignments assignment = 
tokenizedAssignments.get(p);
+if (assignment == null) {
 throw new IllegalStateException("Cannot get 
assignments for table " + table.name()
-+ " (replication group=" + 
replicationGroupId + ").");
++ " (replication group=" + 
replicationGroupIds.get(p) + ").");
 }
 
-List assignments = 
tokenizedAssignments.nodes().stream()
-.map(Assignment::consistentId)
-.collect(Collectors.toList());
-
-required.addAll(assignments);
-});
-
-partitionFutures.add(assignmentsFut);
-}
-
-return CompletableFutures.allOf(partitionFutures)
+assignment.nodes().forEach(a -> 
required.add(a.consistentId()));
+}
+})
 .thenCompose(ignore -> collectRequiredNodes(catalog, tabItr, 
required, nowTs));
 }
 
diff --git 
a/modules/client-handler/src/testFixtures/java/org/apache/ignite/client/handler/FakePlacementDriver.java
 
b/modules/client-handler/src/testFixtures/java/org/apache/ignite/client/handler/FakePlacementDriver.java
index 54da3e4648..8f1bdc5835 100644
--- 
a/modules/client-handler/src/testFixtures/java/org/apache/ignite/client/handler/FakePlacementDriver.java
+++ 
b/modules/client-handler/src/testFixtures/java/org/apache/ignite/client/handler/FakePlacementDriver.java
@@ -106,8 +106,8 @@ public class FakePlacementDriver extends 
AbstractEventProducer getAssignments(
-ReplicationGroupId replicationGroupId,
+public CompletableFuture> getAssignment

(ignite-3) branch ignite-22681 updated (663ee0df76 -> f80e8264ea)

2024-08-08 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22681
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


from 663ee0df76 minor after review
 add f80e8264ea Styles

No new revisions were added by this update.

Summary of changes:
 .../apache/ignite/internal/schemasync/ItSchemaSyncSingleNodeTest.java   | 2 +-
 .../java/org/apache/ignite/internal/table/ItDurableFinishTest.java  | 2 +-
 .../ignite/internal/table/partition/ItAbstractPartitionManagerTest.java | 2 +-
 .../apache/ignite/internal/raftsnapshot/ItTableRaftSnapshotsTest.java   | 2 +-
 .../java/org/apache/ignite/internal/rebalance/ItRebalanceTest.java  | 2 +-
 .../java/org/apache/ignite/internal/table/ItOperationRetryTest.java | 2 +-
 .../apache/ignite/internal/table/ItTransactionPrimaryChangeTest.java| 2 +-
 .../org/apache/ignite/internal/table/ItTransactionRecoveryTest.java | 2 +-
 .../java/org/apache/ignite/internal/table/ItTxResourcesVacuumTest.java  | 2 +-
 9 files changed, 9 insertions(+), 9 deletions(-)



(ignite-3) branch ignite-22681 updated (7b83b4c0ff -> 663ee0df76)

2024-08-08 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22681
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


from 7b83b4c0ff Merge branch 'main' into ignite-22681
 add 663ee0df76 minor after review

No new revisions were added by this update.

Summary of changes:
 .../java/org/apache/ignite/internal/sql/engine/util/SqlTestUtils.java   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)



(ignite-3) branch ignite-22861 updated (8f85b07281 -> dcae0d9b39)

2024-08-07 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22861
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


from 8f85b07281 wip
 add 4613bcc895 IGNITE-22941 Improve performance of TupleMarshaller (#4191)
 add 9769c06c2d IGNITE-22394 Check connection status in SQL CLI command 
(#4117)
 add b8bd6a6266 IGNITE-22757 Sql. Fix excessive memory usage in 
schema-related code in SQL (#4180)
 add ad00781fce IGNITE-22828 Use human readable keys in MG 
idempotentCommandCache (#4196)
 add dcae0d9b39 Merge branch 'main' into ignite-22861

No new revisions were added by this update.

Summary of changes:
 .../internal/binarytuple/BinaryTupleBuilder.java   |  26 +--
 .../descriptors/CatalogTableDescriptor.java|  84 ++-
 .../ignite/internal/catalog/CatalogTableTest.java  |   9 +
 .../ItSqlReplCommandNotInitialedClusterTest.java   |  93 
 .../internal/cli/commands/sql/SqlCommand.java  |  27 ++-
 .../internal/cli/commands/sql/SqlReplCommand.java  |  26 ++-
 .../cli/core/exception/ExceptionHandlers.java  |  13 +-
 .../handler/DefaultExceptionHandlers.java  |   1 -
 .../exception/handler/SqlExceptionHandler.java |  28 +--
 .../ignite/internal/cli/sql/SqlQueryResult.java|   6 +-
 .../ignite/internal/metastorage/CommandId.java |  27 +++
 .../server/persistence/RocksDbKeyValueStorage.java |   7 +-
 .../server/raft/MetaStorageWriteHandler.java   |  17 +-
 .../server/SimpleInMemoryKeyValueStorage.java  |   8 +-
 .../internal/ClusterPerClassIntegrationTest.java   |   6 +-
 .../internal/schema/marshaller/MarshallerUtil.java |  32 +--
 .../marshaller/asm/AsmMarshallerGenerator.java |   7 +-
 .../ignite/internal/schema/row/RowAssembler.java   |  11 +
 .../schema/marshaller/MarshallerUtilTest.java  |   8 +-
 .../internal/sql/engine/schema/IgniteIndex.java|  15 +-
 .../sql/engine/schema/SqlSchemaManagerImpl.java| 241 +
 .../engine/schema/SqlSchemaManagerImplTest.java|  29 +++
 .../schema/marshaller/TupleMarshallerImpl.java |  77 ++-
 .../TupleMarshallerFixlenOnlyBenchmark.java|   8 +-
 .../TupleMarshallerVarlenOnlyBenchmark.java|  47 ++--
 .../marshaller/TupleMarshallerStatisticsTest.java  |   3 +-
 26 files changed, 663 insertions(+), 193 deletions(-)
 create mode 100644 
modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/sql/ItSqlReplCommandNotInitialedClusterTest.java



(ignite-3) branch ignite-22681 updated (66c49415da -> 7b83b4c0ff)

2024-08-07 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22681
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


from 66c49415da minor after review
 add e53f4ca1f4 IGNITE-22934 .NET: Fix tuple equality - ignore column order 
(#4185)
 add 5fcbb24172 IGNITE-22926 Move PartitionScanPublisher to a separate file
 add 947aa7ccfe IGNITE-22803 Put cluster ID in CmgInitMessage (#4186)
 add 69ec9decca IGNITE-21781 .NET: Add integration tests with mixed key 
column order (#4189)
 add 3fed7c2305 IGNITE-22933 Replace ThreadPoolExecutors with a 
corePoolSize equal to 0 (#4190)
 add 060b461147 IGNITE-22691 Delete startReplica(ReplicationGroupId, 
PendingComparableValuesTracker, CompletableFuture) (#4090)
 add 3579cb376a IGNITE-22947 Fix checkstyle. (#4192)
 add 7b83b4c0ff Merge branch 'main' into ignite-22681

No new revisions were added by this update.

Summary of changes:
 .../apache/ignite/client/handler/TestServer.java   |   2 +-
 .../management/raft/ItCmgRaftServiceTest.java  |  27 ++-
 .../cluster/management/ClusterInitializer.java |   2 +
 .../management/ClusterManagementGroupManager.java  |   2 +-
 .../internal/cluster/management/ClusterTag.java|  19 +-
 .../network/messages/CmgInitMessage.java   |   6 +
 .../ClusterManagementGroupManagerTest.java |   1 +
 ...lusterIdHolderTest.java => ClusterTagTest.java} |  23 +-
 .../management/network/CmgMessageHandlerTest.java  |   1 +
 .../AbstractClusterStateStorageManagerTest.java|  10 +-
 .../management/raft/CmgRaftGroupListenerTest.java  |   3 +-
 .../apache/ignite/internal/hlc/ClockWaiter.java|  18 +-
 .../network/file/FileTransferServiceImpl.java  |  25 ++-
 .../internal/network/netty/ConnectionManager.java  |   9 +-
 .../replicator/ItReplicaLifecycleTest.java |   4 +-
 .../Table/BinaryTupleIgniteTupleAdapterTests.cs|  36 +--
 .../Apache.Ignite.Tests/Table/IgniteTupleTests.cs  |  64 +-
 .../Table/KeyColumnOrderTests.cs   | 142 
 .../dotnet/Apache.Ignite/Table/IIgniteTuple.cs |  27 ++-
 .../internal/raft/server/RaftGroupOptions.java |   6 +-
 .../ItPlacementDriverReplicaSideTest.java  |   9 +-
 .../ignite/internal/replicator/ReplicaManager.java |  12 +-
 .../internal/replicator/ReplicaManagerTest.java|   9 +-
 .../PersistentPageMemoryStorageEngine.java |   7 +-
 .../VolatilePageMemoryStorageEngine.java   |   7 +-
 .../ignite/distributed/ReplicaUnavailableTest.java |   9 +-
 .../rebalance/ItRebalanceDistributedTest.java  |   4 +-
 .../outgoing/OutgoingSnapshotsManager.java |  13 +-
 .../replicator/PartitionReplicaListener.java   |   4 +-
 .../distributed/storage/InternalTableImpl.java | 241 +++--
 .../storage/PartitionScanPublisher.java| 224 +++
 .../table/distributed/TableManagerTest.java|   9 +-
 .../apache/ignite/distributed/ItTxTestCluster.java | 211 +-
 33 files changed, 733 insertions(+), 453 deletions(-)
 copy 
modules/cluster-management/src/test/java/org/apache/ignite/internal/cluster/management/{ClusterIdHolderTest.java
 => ClusterTagTest.java} (57%)
 create mode 100644 
modules/platforms/dotnet/Apache.Ignite.Tests/Table/KeyColumnOrderTests.cs
 create mode 100644 
modules/table/src/main/java/org/apache/ignite/internal/table/distributed/storage/PartitionScanPublisher.java



(ignite-3) branch ignite-22681 updated (e8c1d67027 -> 66c49415da)

2024-08-07 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22681
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


from e8c1d67027 Get rid of useless helper class.
 add 66c49415da minor after review

No new revisions were added by this update.

Summary of changes:
 docs/_docs/developers-guide/clients/java.adoc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)



(ignite-3) branch ignite-22861 created (now 8f85b07281)

2024-08-07 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22861
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


  at 8f85b07281 wip

This branch includes the following new commits:

 new 8f85b07281 wip

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.




(ignite-3) 01/01: wip

2024-08-07 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a commit to branch ignite-22861
in repository https://gitbox.apache.org/repos/asf/ignite-3.git

commit 8f85b0728119e1c6676c5e74262dd11d2bc952e9
Author: amashenkov 
AuthorDate: Wed Aug 7 14:45:21 2024 +0300

wip
---
 .../sql/engine/exec/mapping/MappingParameters.java |  5 -
 .../exec/mapping/MappingServiceImplTest.java   | 24 ++
 2 files changed, 28 insertions(+), 1 deletion(-)

diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/mapping/MappingParameters.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/mapping/MappingParameters.java
index 1f586c4541..1e94ff3b89 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/mapping/MappingParameters.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/mapping/MappingParameters.java
@@ -25,6 +25,9 @@ public class MappingParameters {
 /** Empty mapping parameters. */
 public static final MappingParameters EMPTY = new 
MappingParameters(ArrayUtils.OBJECT_EMPTY_ARRAY, false);
 
+/** Allow map on backups. */
+public static final MappingParameters MAP_ON_BACKUPS = new 
MappingParameters(ArrayUtils.OBJECT_EMPTY_ARRAY, true);
+
 private final boolean mapOnBackups;
 private final Object[] dynamicParameters;
 
@@ -38,7 +41,7 @@ public class MappingParameters {
  */
 public static MappingParameters create(Object[] dynamicParameters, boolean 
mapOnBackups) {
 if (dynamicParameters.length == 0) {
-return EMPTY;
+return mapOnBackups ? MAP_ON_BACKUPS : EMPTY;
 } else {
 return new MappingParameters(dynamicParameters, mapOnBackups);
 }
diff --git 
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/mapping/MappingServiceImplTest.java
 
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/mapping/MappingServiceImplTest.java
index 727eb7b023..f12044316f 100644
--- 
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/mapping/MappingServiceImplTest.java
+++ 
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/mapping/MappingServiceImplTest.java
@@ -116,6 +116,30 @@ public class MappingServiceImplTest extends 
BaseIgniteAbstractTest {
 }
 }
 
+@Test
+public void cacheOnStableTopology() {
+String localNodeName = "NODE";
+List nodeNames = List.of(localNodeName, "NODE1");
+
+// Initialize mapping service.
+ExecutionTargetProvider targetProvider = 
Mockito.spy(createTargetProvider(nodeNames));
+MappingServiceImpl mappingService = new MappingServiceImpl(
+localNodeName, CLOCK_SERVICE, targetProvider, 
CaffeineCacheFactory.INSTANCE, 100, PARTITION_PRUNER, Runnable::run
+);
+mappingService.onNodeJoined(Mockito.mock(LogicalNode.class),
+new LogicalTopologySnapshot(1, 
logicalNodes(nodeNames.toArray(new String[0];
+
+
+List defaultMapping = await(mappingService.map(PLAN, 
PARAMS));
+List mappingOnBackups = await(mappingService.map(PLAN, 
MappingParameters.MAP_ON_BACKUPS));
+
+verify(targetProvider, times(2)).forTable(any(), any(), any(), 
anyBoolean());
+
+assertSame(defaultMapping, await(mappingService.map(PLAN, PARAMS)));
+assertSame(mappingOnBackups, await(mappingService.map(PLAN, 
MappingParameters.MAP_ON_BACKUPS)));
+assertNotSame(defaultMapping, mappingOnBackups);
+}
+
 @Test
 public void serviceInitializationTest() {
 String localNodeName = "NODE0";



(ignite-3) 02/03: Actualize SQL error codes in documentation

2024-08-06 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a commit to branch ignite-22681
in repository https://gitbox.apache.org/repos/asf/ignite-3.git

commit 618b826cfe6a7659fa9a1e2e315c3fa6ef54e01a
Author: amashenkov 
AuthorDate: Tue Aug 6 15:35:32 2024 +0300

Actualize SQL error codes in documentation
---
 .../administrators-guide/handling-exceptions.adoc  | 22 +-
 1 file changed, 9 insertions(+), 13 deletions(-)

diff --git a/docs/_docs/administrators-guide/handling-exceptions.adoc 
b/docs/_docs/administrators-guide/handling-exceptions.adoc
index 3a9a65479e..937ddbdb74 100644
--- a/docs/_docs/administrators-guide/handling-exceptions.adoc
+++ b/docs/_docs/administrators-guide/handling-exceptions.adoc
@@ -73,19 +73,15 @@ When the exception happens, Ignite 3 provides a UUID of the 
specific exception,
 |===
 |Exception |Description
 
-|`IGN-SQL-1`|Failed to read a page after last existing one.
-|`IGN-SQL-2`|Failed to read response from a query that does not return rows.
-|`IGN-SQL-3`|Schema not found error.
-|`IGN-SQL-4`|Cursor is already closed error.
-|`IGN-SQL-5`|Statement parsing error. SQL string is not grammatically valid.
-|`IGN-SQL-6`|Statement validation error.SQL string is not semantically valid 
or contains prohibited operations.
-|`IGN-SQL-7`|Constraint violation error, for example, primary key violation.
-|`IGN-SQL-8`|Statement got cancelled.
-|`IGN-SQL-9`|Runtime error. Usually caused an SQL error, for example numeric 
overflow.
-|`IGN-SQL-10`|Planning timed out without finding any valid plan.
-|`IGN-SQL-11`|Operation got rejected because SQL session was closed.
-|`IGN-SQL-12`|SQL engine was unable to map query on current cluster topology. 
Most likely, the partition or view is not available because all nodes 
containing it are offline.
-|`IGN-SQL-13`|Execution of transaction control statement inside an external 
transaction is forbidden.
+|`IGN-SQL-1`|Failed to read response from a query that does not return rows.
+|`IGN-SQL-2`|Schema not found error.
+|`IGN-SQL-3`|Statement parsing error. SQL string is not grammatically valid.
+|`IGN-SQL-4`|Statement validation error.SQL string is not semantically valid 
or contains prohibited operations.
+|`IGN-SQL-5`|Constraint violation error, for example, primary key violation.
+|`IGN-SQL-6`|Statement got cancelled.
+|`IGN-SQL-7`|Runtime error. Usually caused an SQL error, for example numeric 
overflow.
+|`IGN-SQL-8`|SQL engine was unable to map query on current cluster topology. 
Most likely, the partition or view is not available because all nodes 
containing it are offline.
+|`IGN-SQL-9`|Execution of transaction control statement inside an external 
transaction is forbidden.
 |===
 
 == Meta Storage Exceptions



(ignite-3) 03/03: Get rid of useless helper class.

2024-08-06 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a commit to branch ignite-22681
in repository https://gitbox.apache.org/repos/asf/ignite-3.git

commit e8c1d67027cabe708fafa08614a01ea13565d158
Author: amashenkov 
AuthorDate: Tue Aug 6 15:52:33 2024 +0300

Get rid of useless helper class.
---
 modules/placement-driver/build.gradle  |  1 +
 .../ItPrimaryReplicaChoiceTest.java|  2 +-
 .../ItSchemaForwardCompatibilityTest.java  |  2 +-
 .../ItSchemaSyncAndImplicitTransactionsTest.java   |  2 +-
 .../schemasync/ItSchemaSyncAndReplicationTest.java |  2 +-
 .../schemasync/ItSchemaSyncMultiNodeTest.java  |  2 +-
 .../schemasync/ItSchemaSyncSingleNodeTest.java |  2 +-
 .../ignite/internal/table/ItDurableFinishTest.java |  2 +-
 .../partition/ItAbstractPartitionManagerTest.java  |  2 +-
 .../org/apache/ignite/internal/SessionUtils.java   | 52 --
 .../internal/sql/engine/util/SqlTestUtils.java | 28 
 .../raftsnapshot/ItTableRaftSnapshotsTest.java |  2 +-
 .../ignite/internal/rebalance/ItRebalanceTest.java |  2 +-
 .../internal/table/ItOperationRetryTest.java   |  2 +-
 .../table/ItTransactionPrimaryChangeTest.java  |  2 +-
 .../internal/table/ItTransactionRecoveryTest.java  |  2 +-
 .../internal/table/ItTxResourcesVacuumTest.java|  2 +-
 modules/transactions/build.gradle  |  1 +
 .../tx/readonly/ItReadOnlyTxInPastTest.java|  2 +-
 19 files changed, 45 insertions(+), 67 deletions(-)

diff --git a/modules/placement-driver/build.gradle 
b/modules/placement-driver/build.gradle
index 3b7debbdf5..b4034a5be4 100644
--- a/modules/placement-driver/build.gradle
+++ b/modules/placement-driver/build.gradle
@@ -66,6 +66,7 @@ dependencies {
 integrationTestImplementation(testFixtures(project(':ignite-storage-api')))
 
integrationTestImplementation(testFixtures(project(':ignite-distribution-zones')))
 integrationTestImplementation(testFixtures(project(':ignite-runner')))
+integrationTestImplementation(testFixtures(project(':ignite-sql-engine')))
 integrationTestImplementation(testFixtures(project(':ignite-replicator')))
 integrationTestImplementation(testFixtures(project(':ignite-metrics:')))
 integrationTestImplementation(testFixtures(project(':ignite-raft')))
diff --git 
a/modules/placement-driver/src/integrationTest/java/org/apache/ignite/internal/placementdriver/ItPrimaryReplicaChoiceTest.java
 
b/modules/placement-driver/src/integrationTest/java/org/apache/ignite/internal/placementdriver/ItPrimaryReplicaChoiceTest.java
index 269d926085..1718628f4a 100644
--- 
a/modules/placement-driver/src/integrationTest/java/org/apache/ignite/internal/placementdriver/ItPrimaryReplicaChoiceTest.java
+++ 
b/modules/placement-driver/src/integrationTest/java/org/apache/ignite/internal/placementdriver/ItPrimaryReplicaChoiceTest.java
@@ -19,9 +19,9 @@ package org.apache.ignite.internal.placementdriver;
 
 import static java.util.concurrent.TimeUnit.SECONDS;
 import static java.util.stream.Collectors.toSet;
-import static org.apache.ignite.internal.SessionUtils.executeUpdate;
 import static org.apache.ignite.internal.TestWrappers.unwrapTableImpl;
 import static org.apache.ignite.internal.TestWrappers.unwrapTableViewInternal;
+import static 
org.apache.ignite.internal.sql.engine.util.SqlTestUtils.executeUpdate;
 import static 
org.apache.ignite.internal.testframework.IgniteTestUtils.bypassingThreadAssertions;
 import static 
org.apache.ignite.internal.testframework.IgniteTestUtils.waitForCondition;
 import static 
org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.willCompleteSuccessfully;
diff --git 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/schemasync/ItSchemaForwardCompatibilityTest.java
 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/schemasync/ItSchemaForwardCompatibilityTest.java
index 3cfdd08f2c..c6322032e4 100644
--- 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/schemasync/ItSchemaForwardCompatibilityTest.java
+++ 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/schemasync/ItSchemaForwardCompatibilityTest.java
@@ -18,7 +18,7 @@
 package org.apache.ignite.internal.schemasync;
 
 import static java.util.concurrent.TimeUnit.SECONDS;
-import static org.apache.ignite.internal.SessionUtils.executeUpdate;
+import static 
org.apache.ignite.internal.sql.engine.util.SqlTestUtils.executeUpdate;
 import static 
org.apache.ignite.internal.testframework.asserts.CompletableFutureAssert.assertWillThrow;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.containsString;
diff --git 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/schemasync/ItSchemaSyncAndImplicitTransactionsTest.java
 
b/modules

(ignite-3) branch ignite-22681 updated (168888a021 -> e8c1d67027)

2024-08-06 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22681
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


 discard 16a021 Get rid of useless helper class.
 discard 408a4c6887 Actualize SQL error codes in documentation
 discard c213168dee Remove SQL Session mentioning;
 new 40f900922f Remove SQL Session mentioning;
 new 618b826cfe Actualize SQL error codes in documentation
 new e8c1d67027 Get rid of useless helper class.

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (16a021)
\
 N -- N -- N   refs/heads/ignite-22681 (e8c1d67027)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 docs/_docs/developers-guide/clients/java.adoc | 2 +-
 docs/_docs/quick-start/embedded-mode.adoc | 4 +---
 2 files changed, 2 insertions(+), 4 deletions(-)



(ignite-3) 01/03: Remove SQL Session mentioning;

2024-08-06 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a commit to branch ignite-22681
in repository https://gitbox.apache.org/repos/asf/ignite-3.git

commit 40f900922f0ab3c891db6e8e47c13fca9aae15fd
Author: amashenkov 
AuthorDate: Tue Aug 6 15:34:53 2024 +0300

Remove SQL Session mentioning;
---
 docs/_docs/developers-guide/clients/java.adoc|  2 +-
 docs/_docs/quick-start/embedded-mode.adoc|  4 +---
 .../api/src/main/java/org/apache/ignite/sql/IgniteSql.java   |  2 +-
 modules/api/src/main/java/org/apache/ignite/sql/README.md| 12 +---
 .../api/src/main/java/org/apache/ignite/sql/Statement.java   |  2 +-
 .../java/org/apache/ignite/internal/SessionUtils.java|  2 +-
 6 files changed, 10 insertions(+), 14 deletions(-)

diff --git a/docs/_docs/developers-guide/clients/java.adoc 
b/docs/_docs/developers-guide/clients/java.adoc
index 13fbceff83..4d39b1839c 100644
--- a/docs/_docs/developers-guide/clients/java.adoc
+++ b/docs/_docs/developers-guide/clients/java.adoc
@@ -93,7 +93,7 @@ String script = ""
 + "CREATE TABLE IF NOT EXISTS Person (id int primary key, 
city_id int, name varchar, age int, company varchar);"
 + "INSERT INTO Person (1,3, John, 43, Sample)";
 
-ignite.sql().createSession().executeScript(script);
+ignite.sql()..executeScript(script);
 
 --
 
diff --git a/docs/_docs/quick-start/embedded-mode.adoc 
b/docs/_docs/quick-start/embedded-mode.adoc
index 5f2544c8f0..8086fe8dc9 100644
--- a/docs/_docs/quick-start/embedded-mode.adoc
+++ b/docs/_docs/quick-start/embedded-mode.adoc
@@ -103,15 +103,13 @@ For example, here is how you can create a new table by 
using an SQL API:
 
 [source, java]
 
-try (ResultSet rs = ignite.sql().createSession().execute(null,
+try (ResultSet rs = ignite.sql().execute(null,
 "CREATE TABLE CREATE TABLE IF NOT EXISTS Person (id int primary 
key,city_id int,name varchar,age int,company varchar)")
 ) {
 // no-op
 }
 
 
-NOTE: Session is closable, but it is safe to skip `close()` method for DDL and 
DML queries, as they do not keep cursor open.
-
 More examples of working with Ignite can be found in the 
link:https://github.com/apache/ignite-3/tree/main/examples[examples] repository.
 
 == Next Steps
diff --git a/modules/api/src/main/java/org/apache/ignite/sql/IgniteSql.java 
b/modules/api/src/main/java/org/apache/ignite/sql/IgniteSql.java
index 790724..d2beea304d 100644
--- a/modules/api/src/main/java/org/apache/ignite/sql/IgniteSql.java
+++ b/modules/api/src/main/java/org/apache/ignite/sql/IgniteSql.java
@@ -37,7 +37,7 @@ public interface IgniteSql {
 
 /**
  * Creates an SQL statement builder, which provides query-specific 
settings. 
- * These settings override the session defaults when the statement is 
executed.
+ * These settings override the query execution context defaults when the 
statement is executed.
  *
  * @return A new statement builder.
  */
diff --git a/modules/api/src/main/java/org/apache/ignite/sql/README.md 
b/modules/api/src/main/java/org/apache/ignite/sql/README.md
index 2a628cdfdb..0b28e83fbf 100644
--- a/modules/api/src/main/java/org/apache/ignite/sql/README.md
+++ b/modules/api/src/main/java/org/apache/ignite/sql/README.md
@@ -1,13 +1,11 @@
 #Apache Ignite SQL API
 
 ##Overview
-[IgniteSql]('IgniteSql') interface is an entry point for SQL query execution 
and provide method for creating [SQL session](Session.java) 
-and [SQL statement](Statement.java).
+[IgniteSql]('IgniteSql') interface is an entry point for SQL query execution 
and methods for running queries in sync, async or reactive 
+ways and provide method for creating [SQL statement](Statement.java).
  
-An SQL session provide methods for running queries in sync, async and reactive 
ways and holds a context that queries will be executed against
-(e.g. default query timeout, or some hints, which may affects SQL query 
execution flow, and SQL extension/plugin specific hints).
-   
-SQL statement object represents an SQL query text with the context that 
overrides the session defaults.
+An SQL statement holds a context that queries will be executed against (e.g. 
default query timeout, or some hints, which may affects 
+SQL query execution flow, and SQL extension/plugin specific hints).
 
 The result of SQL query is represented with [ResultSet](ResultSet.java), 
[AsyncResultSet](./async/AsyncResultSet.java),
 and [ReactiveResultSet](./reactive/ReactiveResultSet.java) classes, which 
provides the result itself and metadata for it.
@@ -20,7 +18,7 @@ find this approach easier understanding and using rather than 
reactive way.
 ##Reactive query execution
 Reactive methods provide reactive primitives of Java Flow API for building 
reactive flows.
  
-Note: These primitives may be hard to use "as is". Thus it is expected users 
will use some 3-rd party r

(ignite-3) branch ignite-22681 created (now 168888a021)

2024-08-06 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22681
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


  at 16a021 Get rid of useless helper class.

This branch includes the following new commits:

 new c213168dee Remove SQL Session mentioning;
 new 408a4c6887 Actualize SQL error codes in documentation
 new 16a021 Get rid of useless helper class.

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.




(ignite-3) 03/03: Get rid of useless helper class.

2024-08-06 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a commit to branch ignite-22681
in repository https://gitbox.apache.org/repos/asf/ignite-3.git

commit 16a021cf4ef42cb4934b264ae96df8d44378
Author: amashenkov 
AuthorDate: Tue Aug 6 15:52:33 2024 +0300

Get rid of useless helper class.
---
 modules/placement-driver/build.gradle  |  1 +
 .../ItPrimaryReplicaChoiceTest.java|  2 +-
 .../ItSchemaForwardCompatibilityTest.java  |  2 +-
 .../ItSchemaSyncAndImplicitTransactionsTest.java   |  2 +-
 .../schemasync/ItSchemaSyncAndReplicationTest.java |  2 +-
 .../schemasync/ItSchemaSyncMultiNodeTest.java  |  2 +-
 .../schemasync/ItSchemaSyncSingleNodeTest.java |  2 +-
 .../ignite/internal/table/ItDurableFinishTest.java |  2 +-
 .../partition/ItAbstractPartitionManagerTest.java  |  2 +-
 .../org/apache/ignite/internal/SessionUtils.java   | 52 --
 .../internal/sql/engine/util/SqlTestUtils.java | 28 
 .../raftsnapshot/ItTableRaftSnapshotsTest.java |  2 +-
 .../ignite/internal/rebalance/ItRebalanceTest.java |  2 +-
 .../internal/table/ItOperationRetryTest.java   |  2 +-
 .../table/ItTransactionPrimaryChangeTest.java  |  2 +-
 .../internal/table/ItTransactionRecoveryTest.java  |  2 +-
 .../internal/table/ItTxResourcesVacuumTest.java|  2 +-
 modules/transactions/build.gradle  |  1 +
 .../tx/readonly/ItReadOnlyTxInPastTest.java|  2 +-
 19 files changed, 45 insertions(+), 67 deletions(-)

diff --git a/modules/placement-driver/build.gradle 
b/modules/placement-driver/build.gradle
index 3b7debbdf5..b4034a5be4 100644
--- a/modules/placement-driver/build.gradle
+++ b/modules/placement-driver/build.gradle
@@ -66,6 +66,7 @@ dependencies {
 integrationTestImplementation(testFixtures(project(':ignite-storage-api')))
 
integrationTestImplementation(testFixtures(project(':ignite-distribution-zones')))
 integrationTestImplementation(testFixtures(project(':ignite-runner')))
+integrationTestImplementation(testFixtures(project(':ignite-sql-engine')))
 integrationTestImplementation(testFixtures(project(':ignite-replicator')))
 integrationTestImplementation(testFixtures(project(':ignite-metrics:')))
 integrationTestImplementation(testFixtures(project(':ignite-raft')))
diff --git 
a/modules/placement-driver/src/integrationTest/java/org/apache/ignite/internal/placementdriver/ItPrimaryReplicaChoiceTest.java
 
b/modules/placement-driver/src/integrationTest/java/org/apache/ignite/internal/placementdriver/ItPrimaryReplicaChoiceTest.java
index 269d926085..1718628f4a 100644
--- 
a/modules/placement-driver/src/integrationTest/java/org/apache/ignite/internal/placementdriver/ItPrimaryReplicaChoiceTest.java
+++ 
b/modules/placement-driver/src/integrationTest/java/org/apache/ignite/internal/placementdriver/ItPrimaryReplicaChoiceTest.java
@@ -19,9 +19,9 @@ package org.apache.ignite.internal.placementdriver;
 
 import static java.util.concurrent.TimeUnit.SECONDS;
 import static java.util.stream.Collectors.toSet;
-import static org.apache.ignite.internal.SessionUtils.executeUpdate;
 import static org.apache.ignite.internal.TestWrappers.unwrapTableImpl;
 import static org.apache.ignite.internal.TestWrappers.unwrapTableViewInternal;
+import static 
org.apache.ignite.internal.sql.engine.util.SqlTestUtils.executeUpdate;
 import static 
org.apache.ignite.internal.testframework.IgniteTestUtils.bypassingThreadAssertions;
 import static 
org.apache.ignite.internal.testframework.IgniteTestUtils.waitForCondition;
 import static 
org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.willCompleteSuccessfully;
diff --git 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/schemasync/ItSchemaForwardCompatibilityTest.java
 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/schemasync/ItSchemaForwardCompatibilityTest.java
index 3cfdd08f2c..c6322032e4 100644
--- 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/schemasync/ItSchemaForwardCompatibilityTest.java
+++ 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/schemasync/ItSchemaForwardCompatibilityTest.java
@@ -18,7 +18,7 @@
 package org.apache.ignite.internal.schemasync;
 
 import static java.util.concurrent.TimeUnit.SECONDS;
-import static org.apache.ignite.internal.SessionUtils.executeUpdate;
+import static 
org.apache.ignite.internal.sql.engine.util.SqlTestUtils.executeUpdate;
 import static 
org.apache.ignite.internal.testframework.asserts.CompletableFutureAssert.assertWillThrow;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.containsString;
diff --git 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/schemasync/ItSchemaSyncAndImplicitTransactionsTest.java
 
b/modules

(ignite-3) 01/03: Remove SQL Session mentioning;

2024-08-06 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a commit to branch ignite-22681
in repository https://gitbox.apache.org/repos/asf/ignite-3.git

commit c213168dee97ce0b359f4396e3bcc814a036d65c
Author: amashenkov 
AuthorDate: Tue Aug 6 15:34:53 2024 +0300

Remove SQL Session mentioning;
---
 .../api/src/main/java/org/apache/ignite/sql/IgniteSql.java   |  2 +-
 modules/api/src/main/java/org/apache/ignite/sql/README.md| 12 +---
 .../api/src/main/java/org/apache/ignite/sql/Statement.java   |  2 +-
 .../java/org/apache/ignite/internal/SessionUtils.java|  2 +-
 4 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/modules/api/src/main/java/org/apache/ignite/sql/IgniteSql.java 
b/modules/api/src/main/java/org/apache/ignite/sql/IgniteSql.java
index 790724..d2beea304d 100644
--- a/modules/api/src/main/java/org/apache/ignite/sql/IgniteSql.java
+++ b/modules/api/src/main/java/org/apache/ignite/sql/IgniteSql.java
@@ -37,7 +37,7 @@ public interface IgniteSql {
 
 /**
  * Creates an SQL statement builder, which provides query-specific 
settings. 
- * These settings override the session defaults when the statement is 
executed.
+ * These settings override the query execution context defaults when the 
statement is executed.
  *
  * @return A new statement builder.
  */
diff --git a/modules/api/src/main/java/org/apache/ignite/sql/README.md 
b/modules/api/src/main/java/org/apache/ignite/sql/README.md
index 2a628cdfdb..0b28e83fbf 100644
--- a/modules/api/src/main/java/org/apache/ignite/sql/README.md
+++ b/modules/api/src/main/java/org/apache/ignite/sql/README.md
@@ -1,13 +1,11 @@
 #Apache Ignite SQL API
 
 ##Overview
-[IgniteSql]('IgniteSql') interface is an entry point for SQL query execution 
and provide method for creating [SQL session](Session.java) 
-and [SQL statement](Statement.java).
+[IgniteSql]('IgniteSql') interface is an entry point for SQL query execution 
and methods for running queries in sync, async or reactive 
+ways and provide method for creating [SQL statement](Statement.java).
  
-An SQL session provide methods for running queries in sync, async and reactive 
ways and holds a context that queries will be executed against
-(e.g. default query timeout, or some hints, which may affects SQL query 
execution flow, and SQL extension/plugin specific hints).
-   
-SQL statement object represents an SQL query text with the context that 
overrides the session defaults.
+An SQL statement holds a context that queries will be executed against (e.g. 
default query timeout, or some hints, which may affects 
+SQL query execution flow, and SQL extension/plugin specific hints).
 
 The result of SQL query is represented with [ResultSet](ResultSet.java), 
[AsyncResultSet](./async/AsyncResultSet.java),
 and [ReactiveResultSet](./reactive/ReactiveResultSet.java) classes, which 
provides the result itself and metadata for it.
@@ -20,7 +18,7 @@ find this approach easier understanding and using rather than 
reactive way.
 ##Reactive query execution
 Reactive methods provide reactive primitives of Java Flow API for building 
reactive flows.
  
-Note: These primitives may be hard to use "as is". Thus it is expected users 
will use some 3-rd party reactive framework for their purpose.   
+Note: These primitives may be hard to use "as is". Thus it is expected users 
will use some 3-rd party reactive framework for their purpose. 
 
 ## Query execution optimization
 TBD: cover "query plan caching" topic.
diff --git a/modules/api/src/main/java/org/apache/ignite/sql/Statement.java 
b/modules/api/src/main/java/org/apache/ignite/sql/Statement.java
index 11e6dd29b3..389436aa3d 100644
--- a/modules/api/src/main/java/org/apache/ignite/sql/Statement.java
+++ b/modules/api/src/main/java/org/apache/ignite/sql/Statement.java
@@ -77,7 +77,7 @@ public interface Statement {
 
 /**
  * Statement builder provides methods for building a statement object, 
which represents a query and holds query-specific 
- * settings that overrides the session defaults.
+ * settings that overrides the query execution context defaults.
  */
 interface StatementBuilder {
 /**
diff --git 
a/modules/runner/src/testFixtures/java/org/apache/ignite/internal/SessionUtils.java
 
b/modules/runner/src/testFixtures/java/org/apache/ignite/internal/SessionUtils.java
index 9905b3bf51..349eabed87 100644
--- 
a/modules/runner/src/testFixtures/java/org/apache/ignite/internal/SessionUtils.java
+++ 
b/modules/runner/src/testFixtures/java/org/apache/ignite/internal/SessionUtils.java
@@ -23,7 +23,7 @@ import org.apache.ignite.tx.Transaction;
 import org.jetbrains.annotations.Nullable;
 
 /**
- * Utils to work with {@link Session}.
+ * Helper method for running SQL queries.
  */
 public class SessionUtils {
 /**



(ignite-3) 02/03: Actualize SQL error codes in documentation

2024-08-06 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a commit to branch ignite-22681
in repository https://gitbox.apache.org/repos/asf/ignite-3.git

commit 408a4c688739332e8cb06cbf3a3cb1f65cbf25f4
Author: amashenkov 
AuthorDate: Tue Aug 6 15:35:32 2024 +0300

Actualize SQL error codes in documentation
---
 .../administrators-guide/handling-exceptions.adoc  | 22 +-
 1 file changed, 9 insertions(+), 13 deletions(-)

diff --git a/docs/_docs/administrators-guide/handling-exceptions.adoc 
b/docs/_docs/administrators-guide/handling-exceptions.adoc
index 3a9a65479e..937ddbdb74 100644
--- a/docs/_docs/administrators-guide/handling-exceptions.adoc
+++ b/docs/_docs/administrators-guide/handling-exceptions.adoc
@@ -73,19 +73,15 @@ When the exception happens, Ignite 3 provides a UUID of the 
specific exception,
 |===
 |Exception |Description
 
-|`IGN-SQL-1`|Failed to read a page after last existing one.
-|`IGN-SQL-2`|Failed to read response from a query that does not return rows.
-|`IGN-SQL-3`|Schema not found error.
-|`IGN-SQL-4`|Cursor is already closed error.
-|`IGN-SQL-5`|Statement parsing error. SQL string is not grammatically valid.
-|`IGN-SQL-6`|Statement validation error.SQL string is not semantically valid 
or contains prohibited operations.
-|`IGN-SQL-7`|Constraint violation error, for example, primary key violation.
-|`IGN-SQL-8`|Statement got cancelled.
-|`IGN-SQL-9`|Runtime error. Usually caused an SQL error, for example numeric 
overflow.
-|`IGN-SQL-10`|Planning timed out without finding any valid plan.
-|`IGN-SQL-11`|Operation got rejected because SQL session was closed.
-|`IGN-SQL-12`|SQL engine was unable to map query on current cluster topology. 
Most likely, the partition or view is not available because all nodes 
containing it are offline.
-|`IGN-SQL-13`|Execution of transaction control statement inside an external 
transaction is forbidden.
+|`IGN-SQL-1`|Failed to read response from a query that does not return rows.
+|`IGN-SQL-2`|Schema not found error.
+|`IGN-SQL-3`|Statement parsing error. SQL string is not grammatically valid.
+|`IGN-SQL-4`|Statement validation error.SQL string is not semantically valid 
or contains prohibited operations.
+|`IGN-SQL-5`|Constraint violation error, for example, primary key violation.
+|`IGN-SQL-6`|Statement got cancelled.
+|`IGN-SQL-7`|Runtime error. Usually caused an SQL error, for example numeric 
overflow.
+|`IGN-SQL-8`|SQL engine was unable to map query on current cluster topology. 
Most likely, the partition or view is not available because all nodes 
containing it are offline.
+|`IGN-SQL-9`|Execution of transaction control statement inside an external 
transaction is forbidden.
 |===
 
 == Meta Storage Exceptions



(ignite-3) branch ignite-22303 updated (303156175a -> 4403839179)

2024-08-05 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22303
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


 discard 303156175a wip
 new 4403839179 wip

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (303156175a)
\
 N -- N -- N   refs/heads/ignite-22303 (4403839179)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../org/apache/ignite/internal/sql/engine/SqlQueryProcessor.java | 4 ++--
 .../apache/ignite/internal/sql/engine/exec/ExecutionServiceImpl.java | 4 
 .../internal/sql/engine/framework/PredefinedSchemaManager.java   | 5 +++--
 3 files changed, 9 insertions(+), 4 deletions(-)



(ignite-3) 01/01: wip

2024-08-05 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a commit to branch ignite-22303
in repository https://gitbox.apache.org/repos/asf/ignite-3.git

commit 44038391791740a1c311d46915cbdafd9f9e4e9b
Author: amashenkov 
AuthorDate: Mon Jul 1 16:28:45 2024 +0300

wip
---
 .../internal/sql/engine/SqlQueryProcessor.java |  30 -
 .../sql/engine/exec/ExecutionServiceImpl.java  |   9 ++
 .../sql/engine/schema/SqlSchemaManager.java|   8 ++
 .../sql/engine/schema/SqlSchemaManagerImpl.java|   5 +
 .../internal/sql/engine/exec/QueryRetryTest.java   | 128 +
 .../exec/rel/TableScanNodeExecutionTest.java   |   4 +-
 .../sql/engine/framework/ImplicitTxContext.java|   4 +-
 .../sql/engine/framework/NoOpTransaction.java  |  13 ++-
 .../engine/framework/PredefinedSchemaManager.java  |   6 +
 .../ignite/internal/table/ItColocationTest.java|   4 +-
 .../internal/table/distributed/TableManager.java   |   3 +-
 .../distributed/storage/InternalTableImpl.java |  18 ++-
 .../distributed/storage/InternalTableImplTest.java |   7 +-
 .../apache/ignite/distributed/ItTxTestCluster.java |   3 +-
 .../table/impl/DummyInternalTableImpl.java |  10 +-
 15 files changed, 236 insertions(+), 16 deletions(-)

diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/SqlQueryProcessor.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/SqlQueryProcessor.java
index a7b3cae271..ad30349ad7 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/SqlQueryProcessor.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/SqlQueryProcessor.java
@@ -111,6 +111,7 @@ import 
org.apache.ignite.internal.sql.metrics.SqlClientMetricSource;
 import org.apache.ignite.internal.storage.DataStorageManager;
 import org.apache.ignite.internal.systemview.api.SystemViewManager;
 import org.apache.ignite.internal.table.distributed.TableManager;
+import 
org.apache.ignite.internal.table.distributed.replicator.InternalSchemaVersionMismatchException;
 import org.apache.ignite.internal.table.distributed.schema.SchemaSyncService;
 import org.apache.ignite.internal.tx.HybridTimestampTracker;
 import org.apache.ignite.internal.tx.InternalTransaction;
@@ -609,7 +610,30 @@ public class SqlQueryProcessor implements QueryProcessor {
 
txContext.updateObservableTime(deriveMinimalRequiredTime(plan));
 }
 
-return executePlan(operationContext, plan, 
nextStatement);
+try {
+return executePlan(operationContext, plan, 
nextStatement);
+} catch (InternalSchemaVersionMismatchException 
ex) {
+if (txContext.explicitTx() != null) {
+throw ex;
+}
+
+// Retry implicit transaction on concurrent 
schema change.
+SqlOperationContext newOpCtx = 
SqlOperationContext.builder()
+.cancel(operationContext.cancel())
+
.defaultSchemaName(operationContext.defaultSchemaName())
+.operationTime(clockService.now())
+
.parameters(operationContext.parameters())
+
.prefetchCallback(operationContext.prefetchCallback())
+.queryId(operationContext.queryId())
+
.timeZoneId(operationContext.timeZoneId())
+.txContext(txContext)
+.build();
+
+
CompletableFuture> start = new 
CompletableFuture<>()
+.thenCompose(ignore -> 
executeParsedStatement(newOpCtx, parsedResult, nextStatement));
+
+return start.completeAsync(null, taskExecutor);
+}
 }));
 }
 
@@ -688,8 +712,8 @@ public class SqlQueryProcessor implements QueryProcessor {
 txContext.updateObservableTime(clockService.now());
 }
 
-return cursor;
-});
+return cursor;
+});
 } finally {
 busyLock.leaveBusy();
 }
diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ExecutionServiceImpl.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ExecutionServiceImpl.java
index c314582b68..01c582bbc7 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql

(ignite-3) 01/01: wip

2024-07-03 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a commit to branch ignite-22303
in repository https://gitbox.apache.org/repos/asf/ignite-3.git

commit 303156175a4a8720263966365a1042c71f3841e7
Author: amashenkov 
AuthorDate: Mon Jul 1 16:28:45 2024 +0300

wip
---
 .../internal/sql/engine/SqlQueryProcessor.java |  26 -
 .../sql/engine/exec/ExecutionServiceImpl.java  |   5 +
 .../sql/engine/schema/SqlSchemaManager.java|   8 ++
 .../sql/engine/schema/SqlSchemaManagerImpl.java|   5 +
 .../internal/sql/engine/exec/QueryRetryTest.java   | 128 +
 .../exec/rel/TableScanNodeExecutionTest.java   |   4 +-
 .../sql/engine/framework/ImplicitTxContext.java|   4 +-
 .../sql/engine/framework/NoOpTransaction.java  |  13 ++-
 .../engine/framework/PredefinedSchemaManager.java  |   5 +
 .../ignite/internal/table/ItColocationTest.java|   4 +-
 .../internal/table/distributed/TableManager.java   |   3 +-
 .../distributed/storage/InternalTableImpl.java |  18 ++-
 .../distributed/storage/InternalTableImplTest.java |   7 +-
 .../apache/ignite/distributed/ItTxTestCluster.java |   3 +-
 .../table/impl/DummyInternalTableImpl.java |  10 +-
 15 files changed, 229 insertions(+), 14 deletions(-)

diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/SqlQueryProcessor.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/SqlQueryProcessor.java
index a7b3cae271..362e54e55d 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/SqlQueryProcessor.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/SqlQueryProcessor.java
@@ -111,6 +111,7 @@ import 
org.apache.ignite.internal.sql.metrics.SqlClientMetricSource;
 import org.apache.ignite.internal.storage.DataStorageManager;
 import org.apache.ignite.internal.systemview.api.SystemViewManager;
 import org.apache.ignite.internal.table.distributed.TableManager;
+import 
org.apache.ignite.internal.table.distributed.replicator.InternalSchemaVersionMismatchException;
 import org.apache.ignite.internal.table.distributed.schema.SchemaSyncService;
 import org.apache.ignite.internal.tx.HybridTimestampTracker;
 import org.apache.ignite.internal.tx.InternalTransaction;
@@ -609,7 +610,30 @@ public class SqlQueryProcessor implements QueryProcessor {
 
txContext.updateObservableTime(deriveMinimalRequiredTime(plan));
 }
 
-return executePlan(operationContext, plan, 
nextStatement);
+try {
+return executePlan(operationContext, plan, 
nextStatement);
+} catch (InternalSchemaVersionMismatchException 
ex) {
+if (txContext.explicitTx() != null) {
+throw ex;
+}
+
+// Retry implicit transaction on concurrent 
schema change.
+SqlOperationContext newOpCtx = 
SqlOperationContext.builder()
+.cancel(operationContext.cancel())
+
.defaultSchemaName(operationContext.defaultSchemaName())
+.operationTime(clockService.now())
+
.parameters(operationContext.parameters())
+
.prefetchCallback(operationContext.prefetchCallback())
+.queryId(operationContext.queryId())
+
.timeZoneId(operationContext.timeZoneId())
+.txContext(txContext)
+.build();
+
+
CompletableFuture> start = new 
CompletableFuture<>()
+.thenCompose(ignore -> 
executeParsedStatement(newOpCtx, parsedResult, nextStatement));
+
+return start.completeAsync(null, taskExecutor);
+}
 }));
 }
 
diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ExecutionServiceImpl.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ExecutionServiceImpl.java
index c314582b68..211bcdf95c 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ExecutionServiceImpl.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ExecutionServiceImpl.java
@@ -114,6 +114,7 @@ import 
org.apache.ignite.internal.sql.engine.tx.QueryTransactionWrapper;
 import org.apache.ignite.internal.sql.engine.util.Commons;
 import org.apache.ignite.internal.sql.engine.util.IteratorToDataCursorAdap

(ignite-3) branch ignite-22303 updated (f9d5bc8c60 -> 303156175a)

2024-07-03 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22303
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


 discard f9d5bc8c60 wip
 new 303156175a wip

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (f9d5bc8c60)
\
 N -- N -- N   refs/heads/ignite-22303 (303156175a)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../ignite/internal/sql/engine/schema/SqlSchemaManagerImpl.java | 6 ++
 1 file changed, 2 insertions(+), 4 deletions(-)



(ignite-3) 03/05: Retry implicit tx on concurrent schema modification.

2024-07-02 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a commit to branch ignite-22303
in repository https://gitbox.apache.org/repos/asf/ignite-3.git

commit b44b5813f69b44ce1113e7f8db982769fcefe9a1
Author: amashenkov 
AuthorDate: Mon Jul 1 16:58:54 2024 +0300

Retry implicit tx on concurrent schema modification.
---
 .../internal/sql/engine/SqlQueryProcessor.java | 25 +-
 1 file changed, 24 insertions(+), 1 deletion(-)

diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/SqlQueryProcessor.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/SqlQueryProcessor.java
index b74dd87fde..c3b7b5cc10 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/SqlQueryProcessor.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/SqlQueryProcessor.java
@@ -610,7 +610,30 @@ public class SqlQueryProcessor implements QueryProcessor {
 
txContext.updateObservableTime(deriveMinimalRequiredTime(plan));
 }
 
-return executePlan(operationContext, plan, 
nextStatement);
+try {
+return executePlan(operationContext, plan, 
nextStatement);
+} catch (ConcurrentSchemaModificationException ex) 
{
+if (txContext.explicitTx() != null) {
+throw ex;
+}
+
+// Retry implicit transaction on concurrent 
schema change.
+SqlOperationContext newOpCtx = 
SqlOperationContext.builder()
+.cancel(operationContext.cancel())
+
.defaultSchemaName(operationContext.defaultSchemaName())
+.operationTime(clockService.now())
+
.parameters(operationContext.parameters())
+
.prefetchCallback(operationContext.prefetchCallback())
+.queryId(operationContext.queryId())
+
.timeZoneId(operationContext.timeZoneId())
+.txContext(txContext)
+.build();
+
+
CompletableFuture> start = new 
CompletableFuture<>()
+.thenCompose(ignore -> 
executeParsedStatement(newOpCtx, parsedResult, nextStatement));
+
+return start.completeAsync(null, taskExecutor);
+}
 }));
 }
 



(ignite-3) branch ignite-22303 updated (1c378340cd -> 1c6fae8a3e)

2024-07-02 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22303
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


 discard 1c378340cd Retry implicit tx on concurrent schema modification.
 discard 37e65813ba Make ExecutionServiceImpl throwing exception
 discard c8deccdcce Add test
 new 3a86330bac Add test
 new 072c521a5c Make ExecutionServiceImpl throwing exception
 new b44b5813f6 Retry implicit tx on concurrent schema modification.
 new 15f5ef4f66 javadoc
 new 1c6fae8a3e Minor

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (1c378340cd)
\
 N -- N -- N   refs/heads/ignite-22303 (1c6fae8a3e)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 5 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../internal/sql/engine/SqlQueryProcessor.java |  11 +-
 ... => ConcurrentSchemaModificationException.java} |  12 +-
 .../sql/engine/exec/ExecutionServiceImpl.java  |   4 +-
 .../internal/sql/engine/schema/IgniteSchema.java   |   2 +-
 .../sql/engine/schema/SqlSchemaManager.java|  10 +-
 .../sql/engine/schema/SqlSchemaManagerImpl.java|   7 +-
 .../internal/sql/engine/exec/QueryRetryTest.java   | 292 ++---
 .../engine/framework/PredefinedSchemaManager.java  |   5 +-
 8 files changed, 60 insertions(+), 283 deletions(-)
 rename 
modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/{ConcurrentSchemaModification.java
 => ConcurrentSchemaModificationException.java} (65%)



(ignite-3) 01/05: Add test

2024-07-02 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a commit to branch ignite-22303
in repository https://gitbox.apache.org/repos/asf/ignite-3.git

commit 3a86330bac8197d8ee46f0ae1fa86eb986c2fb91
Author: amashenkov 
AuthorDate: Mon Jul 1 16:28:45 2024 +0300

Add test
---
 .../internal/sql/engine/SqlQueryProcessor.java |  1 +
 .../sql/engine/exec/ExecutionServiceImpl.java  |  2 +
 .../internal/sql/engine/exec/QueryRetryTest.java   | 82 ++
 .../sql/engine/framework/ImplicitTxContext.java|  4 +-
 .../sql/engine/framework/NoOpTransaction.java  | 13 +++-
 5 files changed, 100 insertions(+), 2 deletions(-)

diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/SqlQueryProcessor.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/SqlQueryProcessor.java
index a7b3cae271..b74dd87fde 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/SqlQueryProcessor.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/SqlQueryProcessor.java
@@ -68,6 +68,7 @@ import org.apache.ignite.internal.sql.SqlCommon;
 import 
org.apache.ignite.internal.sql.configuration.distributed.SqlDistributedConfiguration;
 import 
org.apache.ignite.internal.sql.configuration.local.SqlLocalConfiguration;
 import org.apache.ignite.internal.sql.engine.exec.AsyncDataCursor;
+import 
org.apache.ignite.internal.sql.engine.exec.ConcurrentSchemaModificationException;
 import org.apache.ignite.internal.sql.engine.exec.ExchangeServiceImpl;
 import org.apache.ignite.internal.sql.engine.exec.ExecutableTableRegistryImpl;
 import 
org.apache.ignite.internal.sql.engine.exec.ExecutionDependencyResolverImpl;
diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ExecutionServiceImpl.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ExecutionServiceImpl.java
index c314582b68..82e1f1b34c 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ExecutionServiceImpl.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ExecutionServiceImpl.java
@@ -320,6 +320,8 @@ public class ExecutionServiceImpl implements 
ExecutionService, TopologyEve
 
 QueryTransactionWrapper txWrapper = 
txContext.getOrStartImplicit(plan.type() != SqlQueryType.DML);
 
+assert sqlSchemaManager.schema(plan.catalogVersion()) == 
sqlSchemaManager.schema(txWrapper.unwrap().startTimestamp().longValue());
+
 AsyncCursor dataCursor = 
queryManager.execute(txWrapper.unwrap(), plan);
 
 PrefetchCallback prefetchCallback = 
operationContext.prefetchCallback();
diff --git 
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/QueryRetryTest.java
 
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/QueryRetryTest.java
new file mode 100644
index 00..0bc9c73230
--- /dev/null
+++ 
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/QueryRetryTest.java
@@ -0,0 +1,82 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal.sql.engine.exec;
+
+import static 
org.apache.ignite.internal.testframework.IgniteTestUtils.assertThrows;
+
+import java.util.List;
+import org.apache.ignite.internal.hlc.HybridClockImpl;
+import org.apache.ignite.internal.sql.engine.framework.DataProvider;
+import org.apache.ignite.internal.sql.engine.framework.ImplicitTxContext;
+import org.apache.ignite.internal.sql.engine.framework.TestBuilders;
+import org.apache.ignite.internal.sql.engine.framework.TestCluster;
+import org.apache.ignite.internal.sql.engine.framework.TestNode;
+import org.apache.ignite.internal.sql.engine.prepare.QueryPlan;
+import org.apache.ignite.internal.testframework.BaseIgniteAbstractTest;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+public class QueryRetryTest extends BaseIgniteAbstractTest {
+private TestCluster cluster;
+
+@BeforeEach
+public void init() {
+cluster = 

(ignite-3) 02/05: Make ExecutionServiceImpl throwing exception

2024-07-02 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a commit to branch ignite-22303
in repository https://gitbox.apache.org/repos/asf/ignite-3.git

commit 072c521a5c2d85267d8bdd3becfd1078b805130d
Author: amashenkov 
AuthorDate: Mon Jul 1 16:44:18 2024 +0300

Make ExecutionServiceImpl throwing exception
---
 .../ConcurrentSchemaModificationException.java | 28 ++
 .../sql/engine/exec/ExecutionServiceImpl.java  |  4 +++-
 .../sql/engine/schema/SqlSchemaManager.java|  2 ++
 .../sql/engine/schema/SqlSchemaManagerImpl.java|  5 
 .../internal/sql/engine/exec/QueryRetryTest.java   |  2 --
 .../engine/framework/PredefinedSchemaManager.java  |  5 
 6 files changed, 43 insertions(+), 3 deletions(-)

diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ConcurrentSchemaModificationException.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ConcurrentSchemaModificationException.java
new file mode 100644
index 00..f142732bf2
--- /dev/null
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ConcurrentSchemaModificationException.java
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal.sql.engine.exec;
+
+import org.apache.ignite.internal.lang.IgniteInternalException;
+import org.apache.ignite.lang.ErrorGroups.Common;
+
+//TODO: javadoc
+public class ConcurrentSchemaModificationException extends 
IgniteInternalException {
+public ConcurrentSchemaModificationException() {
+super(Common.INTERNAL_ERR);
+}
+}
diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ExecutionServiceImpl.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ExecutionServiceImpl.java
index 82e1f1b34c..7f1dd6b840 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ExecutionServiceImpl.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ExecutionServiceImpl.java
@@ -320,7 +320,9 @@ public class ExecutionServiceImpl implements 
ExecutionService, TopologyEve
 
 QueryTransactionWrapper txWrapper = 
txContext.getOrStartImplicit(plan.type() != SqlQueryType.DML);
 
-assert sqlSchemaManager.schema(plan.catalogVersion()) == 
sqlSchemaManager.schema(txWrapper.unwrap().startTimestamp().longValue());
+if (!sqlSchemaManager.isActualSchemaVersion(plan.catalogVersion(), 
txWrapper.unwrap().startTimestamp().longValue())) {
+throw new ConcurrentSchemaModificationException();
+}
 
 AsyncCursor dataCursor = 
queryManager.execute(txWrapper.unwrap(), plan);
 
diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/SqlSchemaManager.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/SqlSchemaManager.java
index a6d82dff82..b637e8198a 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/SqlSchemaManager.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/SqlSchemaManager.java
@@ -49,4 +49,6 @@ public interface SqlSchemaManager {
  * @param catalogVersion version of the catalog to wait.
  */
 CompletableFuture schemaReadyFuture(int catalogVersion);
+
+boolean isActualSchemaVersion(int catalogVersion, long timestamp);
 }
diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/SqlSchemaManagerImpl.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/SqlSchemaManagerImpl.java
index f2357c911f..0ef9b27b52 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/SqlSchemaManagerImpl.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/SqlSchemaManagerImpl.java
@@ -405,4 +405,9 @@ public class SqlSchemaManagerImpl implements 
SqlSchemaManager {
 parititions
 );
 }
+
+@Override
+public boolean isActualSchemaVersion(int 

(ignite-3) 05/05: Minor

2024-07-02 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a commit to branch ignite-22303
in repository https://gitbox.apache.org/repos/asf/ignite-3.git

commit 1c6fae8a3e499eee2d97e6d8261934f1b6e033a4
Author: amashenkov 
AuthorDate: Tue Jul 2 15:28:14 2024 +0300

Minor
---
 .../ignite/internal/sql/engine/exec/ExecutionServiceImpl.java  |  4 +---
 .../ignite/internal/sql/engine/schema/SqlSchemaManager.java| 10 +-
 .../internal/sql/engine/schema/SqlSchemaManagerImpl.java   |  7 +--
 .../internal/sql/engine/framework/PredefinedSchemaManager.java |  5 +++--
 4 files changed, 18 insertions(+), 8 deletions(-)

diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ExecutionServiceImpl.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ExecutionServiceImpl.java
index 7f1dd6b840..dd16b168e4 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ExecutionServiceImpl.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ExecutionServiceImpl.java
@@ -320,9 +320,7 @@ public class ExecutionServiceImpl implements 
ExecutionService, TopologyEve
 
 QueryTransactionWrapper txWrapper = 
txContext.getOrStartImplicit(plan.type() != SqlQueryType.DML);
 
-if (!sqlSchemaManager.isActualSchemaVersion(plan.catalogVersion(), 
txWrapper.unwrap().startTimestamp().longValue())) {
-throw new ConcurrentSchemaModificationException();
-}
+sqlSchemaManager.ensureActualSchemaVersion(plan.catalogVersion(), 
txWrapper.unwrap().startTimestamp().longValue());
 
 AsyncCursor dataCursor = 
queryManager.execute(txWrapper.unwrap(), plan);
 
diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/SqlSchemaManager.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/SqlSchemaManager.java
index b637e8198a..e7a7744f6e 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/SqlSchemaManager.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/SqlSchemaManager.java
@@ -19,6 +19,7 @@ package org.apache.ignite.internal.sql.engine.schema;
 
 import java.util.concurrent.CompletableFuture;
 import org.apache.calcite.schema.SchemaPlus;
+import 
org.apache.ignite.internal.sql.engine.exec.ConcurrentSchemaModificationException;
 
 /**
  * Sql schemas operations interface.
@@ -50,5 +51,12 @@ public interface SqlSchemaManager {
  */
 CompletableFuture schemaReadyFuture(int catalogVersion);
 
-boolean isActualSchemaVersion(int catalogVersion, long timestamp);
+/**
+ * Validates catalog version is an actual version at the given timestamp.
+ *
+ * @param catalogVersion Catalog version.
+ * @param timestamp Timestamp.
+ * @throws ConcurrentSchemaModificationException If the given catalog 
version is outdated.
+ */
+void ensureActualSchemaVersion(int catalogVersion, long timestamp) throws 
ConcurrentSchemaModificationException;
 }
diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/SqlSchemaManagerImpl.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/SqlSchemaManagerImpl.java
index 0ef9b27b52..57e22f76a4 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/SqlSchemaManagerImpl.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/SqlSchemaManagerImpl.java
@@ -50,6 +50,7 @@ import 
org.apache.ignite.internal.catalog.descriptors.CatalogTableDescriptor;
 import org.apache.ignite.internal.catalog.descriptors.CatalogZoneDescriptor;
 import org.apache.ignite.internal.lang.IgniteInternalException;
 import org.apache.ignite.internal.schema.DefaultValueGenerator;
+import 
org.apache.ignite.internal.sql.engine.exec.ConcurrentSchemaModificationException;
 import org.apache.ignite.internal.sql.engine.schema.IgniteIndex.Type;
 import org.apache.ignite.internal.sql.engine.trait.IgniteDistribution;
 import org.apache.ignite.internal.sql.engine.trait.IgniteDistributions;
@@ -407,7 +408,9 @@ public class SqlSchemaManagerImpl implements 
SqlSchemaManager {
 }
 
 @Override
-public boolean isActualSchemaVersion(int catalogVersion, long timestamp) {
-return catalogManager.activeCatalogVersion(timestamp) == 
catalogVersion;
+public void ensureActualSchemaVersion(int catalogVersion, long timestamp) 
throws ConcurrentSchemaModificationException {
+if (catalogManager.activeCatalogVersion(timestamp) > catalogVersion) {
+throw new ConcurrentSchemaModificationException();
+}
 }
 }
diff --git 
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/framework/PredefinedSchemaManager.java
 
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/

(ignite-3) 04/05: javadoc

2024-07-02 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a commit to branch ignite-22303
in repository https://gitbox.apache.org/repos/asf/ignite-3.git

commit 15f5ef4f66a3d19f2ca23d663c82a244b6d165de
Author: amashenkov 
AuthorDate: Tue Jul 2 15:20:28 2024 +0300

javadoc
---
 .../sql/engine/exec/ConcurrentSchemaModificationException.java| 8 +++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ConcurrentSchemaModificationException.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ConcurrentSchemaModificationException.java
index f142732bf2..b918ea2b08 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ConcurrentSchemaModificationException.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ConcurrentSchemaModificationException.java
@@ -20,7 +20,13 @@ package org.apache.ignite.internal.sql.engine.exec;
 import org.apache.ignite.internal.lang.IgniteInternalException;
 import org.apache.ignite.lang.ErrorGroups.Common;
 
-//TODO: javadoc
+/**
+ * Thrown when detected a query uses an outdated query plan in implicit 
transaction.
+ *
+ * Because an implicit transaction starts after query has been planned, 
there is a chance the schema can be changed in between.
+ * This internal exception is not intended to be thrown up to the user, 
instead, it must be catched internally,
+ * and lead the query falling back to the planning phase.
+ */
 public class ConcurrentSchemaModificationException extends 
IgniteInternalException {
 public ConcurrentSchemaModificationException() {
 super(Common.INTERNAL_ERR);



(ignite-3) branch ignite-22303 created (now 1c378340cd)

2024-07-01 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22303
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


  at 1c378340cd Retry implicit tx on concurrent schema modification.

This branch includes the following new commits:

 new c8deccdcce Add test
 new 37e65813ba Make ExecutionServiceImpl throwing exception
 new 1c378340cd Retry implicit tx on concurrent schema modification.

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.




(ignite-3) 02/03: Make ExecutionServiceImpl throwing exception

2024-07-01 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a commit to branch ignite-22303
in repository https://gitbox.apache.org/repos/asf/ignite-3.git

commit 37e65813ba5f66bb6304fee70a2a5dd02c8af3e4
Author: amashenkov 
AuthorDate: Mon Jul 1 16:44:18 2024 +0300

Make ExecutionServiceImpl throwing exception
---
 .../engine/exec/ConcurrentSchemaModification.java  | 28 ++
 .../sql/engine/exec/ExecutionServiceImpl.java  |  4 +++-
 .../sql/engine/schema/SqlSchemaManager.java|  2 ++
 .../sql/engine/schema/SqlSchemaManagerImpl.java|  5 
 .../internal/sql/engine/exec/QueryRetryTest.java   |  5 
 .../engine/framework/PredefinedSchemaManager.java  |  5 
 6 files changed, 48 insertions(+), 1 deletion(-)

diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ConcurrentSchemaModification.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ConcurrentSchemaModification.java
new file mode 100644
index 00..42d491c3bc
--- /dev/null
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ConcurrentSchemaModification.java
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal.sql.engine.exec;
+
+import org.apache.ignite.internal.lang.IgniteInternalException;
+import org.apache.ignite.lang.ErrorGroups.Common;
+
+//TODO: javadoc
+public class ConcurrentSchemaModification extends IgniteInternalException {
+ConcurrentSchemaModification() {
+super(Common.INTERNAL_ERR);
+}
+}
diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ExecutionServiceImpl.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ExecutionServiceImpl.java
index 82e1f1b34c..446965dd39 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ExecutionServiceImpl.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ExecutionServiceImpl.java
@@ -320,7 +320,9 @@ public class ExecutionServiceImpl implements 
ExecutionService, TopologyEve
 
 QueryTransactionWrapper txWrapper = 
txContext.getOrStartImplicit(plan.type() != SqlQueryType.DML);
 
-assert sqlSchemaManager.schema(plan.catalogVersion()) == 
sqlSchemaManager.schema(txWrapper.unwrap().startTimestamp().longValue());
+if (!sqlSchemaManager.isActualSchemaVersion(plan.catalogVersion(), 
txWrapper.unwrap().startTimestamp().longValue())) {
+throw new ConcurrentSchemaModification();
+}
 
 AsyncCursor dataCursor = 
queryManager.execute(txWrapper.unwrap(), plan);
 
diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/SqlSchemaManager.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/SqlSchemaManager.java
index a6d82dff82..b637e8198a 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/SqlSchemaManager.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/SqlSchemaManager.java
@@ -49,4 +49,6 @@ public interface SqlSchemaManager {
  * @param catalogVersion version of the catalog to wait.
  */
 CompletableFuture schemaReadyFuture(int catalogVersion);
+
+boolean isActualSchemaVersion(int catalogVersion, long timestamp);
 }
diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/SqlSchemaManagerImpl.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/SqlSchemaManagerImpl.java
index f2357c911f..0ef9b27b52 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/SqlSchemaManagerImpl.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/SqlSchemaManagerImpl.java
@@ -405,4 +405,9 @@ public class SqlSchemaManagerImpl implements 
SqlSchemaManager {
 parititions
 );
 }
+
+@Override
+public boolean isActualSchemaVersion(int catalogVersion, long timestamp) {
+return catalogManager.

(ignite-3) 03/03: Retry implicit tx on concurrent schema modification.

2024-07-01 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a commit to branch ignite-22303
in repository https://gitbox.apache.org/repos/asf/ignite-3.git

commit 1c378340cd88269768ed1bda33d269b1cd9deb6b
Author: amashenkov 
AuthorDate: Mon Jul 1 16:58:54 2024 +0300

Retry implicit tx on concurrent schema modification.
---
 .../internal/sql/engine/SqlQueryProcessor.java | 25 +-
 .../internal/sql/engine/exec/QueryRetryTest.java   |  7 ++
 2 files changed, 26 insertions(+), 6 deletions(-)

diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/SqlQueryProcessor.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/SqlQueryProcessor.java
index a7b3cae271..a0693de0c0 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/SqlQueryProcessor.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/SqlQueryProcessor.java
@@ -68,6 +68,7 @@ import org.apache.ignite.internal.sql.SqlCommon;
 import 
org.apache.ignite.internal.sql.configuration.distributed.SqlDistributedConfiguration;
 import 
org.apache.ignite.internal.sql.configuration.local.SqlLocalConfiguration;
 import org.apache.ignite.internal.sql.engine.exec.AsyncDataCursor;
+import org.apache.ignite.internal.sql.engine.exec.ConcurrentSchemaModification;
 import org.apache.ignite.internal.sql.engine.exec.ExchangeServiceImpl;
 import org.apache.ignite.internal.sql.engine.exec.ExecutableTableRegistryImpl;
 import 
org.apache.ignite.internal.sql.engine.exec.ExecutionDependencyResolverImpl;
@@ -609,7 +610,29 @@ public class SqlQueryProcessor implements QueryProcessor {
 
txContext.updateObservableTime(deriveMinimalRequiredTime(plan));
 }
 
-return executePlan(operationContext, plan, 
nextStatement);
+try {
+return executePlan(operationContext, plan, 
nextStatement);
+} catch (ConcurrentSchemaModification ex) {
+if (txContext.explicitTx() != null) {
+throw ex;
+}
+
+// Retry implicit transaction on concurrent 
schema change.
+SqlOperationContext newOpCtx = 
SqlOperationContext.builder()
+.queryId(operationContext.queryId())
+
.prefetchCallback(operationContext.prefetchCallback())
+.cancel(operationContext.cancel())
+
.defaultSchemaName(operationContext.defaultSchemaName())
+
.timeZoneId(operationContext.timeZoneId())
+.operationTime(clockService.now())
+.txContext(txContext)
+.build();
+
+
CompletableFuture> start = new 
CompletableFuture<>()
+.thenCompose(ignore -> 
executeParsedStatement(newOpCtx, parsedResult, nextStatement));
+
+return start.completeAsync(null, taskExecutor);
+}
 }));
 }
 
diff --git 
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/QueryRetryTest.java
 
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/QueryRetryTest.java
index 98c7aacd04..f0ea29d0da 100644
--- 
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/QueryRetryTest.java
+++ 
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/QueryRetryTest.java
@@ -18,6 +18,7 @@
 package org.apache.ignite.internal.sql.engine.exec;
 
 import static java.util.concurrent.CompletableFuture.completedFuture;
+import static 
org.apache.ignite.internal.testframework.IgniteTestUtils.assertThrows;
 import static org.apache.ignite.internal.testframework.IgniteTestUtils.await;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.mockito.Mockito.mock;
@@ -27,7 +28,6 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.UUID;
 import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Executors;
 import java.util.concurrent.ScheduledExecutorService;
 import org.apache.calcite.schema.SchemaPlus;
@@ -44,7 +44,6 @@ import org.apache.ignite.internal.metrics.MetricManagerImpl;
 import org.apache.ignite.internal.network.ClusterNodeImpl;
 import org.apache.ignite.internal.network.TopologyService;
 import org.apache.ignite.internal.sql.SqlCommon;
-import org.apache.ignite.internal.sql.engine.InternalSql

(ignite-3) 01/03: Add test

2024-07-01 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a commit to branch ignite-22303
in repository https://gitbox.apache.org/repos/asf/ignite-3.git

commit c8deccdcce6530bac48de626c3b1acf3705887a9
Author: amashenkov 
AuthorDate: Mon Jul 1 16:28:45 2024 +0300

Add test
---
 .../sql/engine/exec/ExecutionServiceImpl.java  |   2 +
 .../internal/sql/engine/schema/IgniteSchema.java   |   2 +-
 .../internal/sql/engine/exec/QueryRetryTest.java   | 318 +
 .../sql/engine/framework/ImplicitTxContext.java|   4 +-
 .../sql/engine/framework/NoOpTransaction.java  |  13 +-
 5 files changed, 336 insertions(+), 3 deletions(-)

diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ExecutionServiceImpl.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ExecutionServiceImpl.java
index c314582b68..82e1f1b34c 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ExecutionServiceImpl.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ExecutionServiceImpl.java
@@ -320,6 +320,8 @@ public class ExecutionServiceImpl implements 
ExecutionService, TopologyEve
 
 QueryTransactionWrapper txWrapper = 
txContext.getOrStartImplicit(plan.type() != SqlQueryType.DML);
 
+assert sqlSchemaManager.schema(plan.catalogVersion()) == 
sqlSchemaManager.schema(txWrapper.unwrap().startTimestamp().longValue());
+
 AsyncCursor dataCursor = 
queryManager.execute(txWrapper.unwrap(), plan);
 
 PrefetchCallback prefetchCallback = 
operationContext.prefetchCallback();
diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/IgniteSchema.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/IgniteSchema.java
index 109b1ff431..b1d1092449 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/IgniteSchema.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/IgniteSchema.java
@@ -66,7 +66,7 @@ public class IgniteSchema extends AbstractSchema {
 }
 
 /** Returns table by given id. */
-@Nullable IgniteTable tableByIdOpt(int tableId) {
+public @Nullable IgniteTable tableByIdOpt(int tableId) {
 IgniteDataSource dataSource = tableById.get(tableId);
 
 if (!(dataSource instanceof IgniteTable)) {
diff --git 
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/QueryRetryTest.java
 
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/QueryRetryTest.java
new file mode 100644
index 00..7d4e4d4cf9
--- /dev/null
+++ 
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/QueryRetryTest.java
@@ -0,0 +1,318 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal.sql.engine.exec;
+
+import static java.util.concurrent.CompletableFuture.completedFuture;
+import static org.apache.ignite.internal.testframework.IgniteTestUtils.await;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
+import org.apache.calcite.schema.SchemaPlus;
+import org.apache.calcite.tools.Frameworks;
+import org.apache.ignite.internal.cluster.management.topology.api.LogicalNode;
+import 
org.apache.ignite.internal.cluster.management.topology.api.LogicalTopologySnapshot;
+import org.apache.ignite.internal.failure.FailureProcessor;
+import org.apache.ignite.internal.failure.handlers.NoOpFailureHandler;
+import org.apache.ignite.internal.hlc.ClockService;
+import org.apache.ignite.internal.hlc.HybridClockImpl;
+import org.apache.ignite.internal.hlc.HybridTimestamp;
+import org.apache.ignite.internal.hlc.TestC

(ignite-3) branch main updated (ae3800ea82 -> 29b2e2b7fb)

2024-06-28 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


from ae3800ea82 IGNITE-22588 Fix performance of JDBC driver (#4012)
 add 29b2e2b7fb IGNITE-22611 SQL. Statement should not extends AutoClosable 
 (#4015)

No new revisions were added by this update.

Summary of changes:
 .../apache/ignite/example/sql/SqlApiExample.java   | 31 ++
 .../main/java/org/apache/ignite/sql/Statement.java |  2 +-
 .../apache/ignite/internal/sql/StatementImpl.java  |  6 -
 .../ignite/internal/benchmark/SelectBenchmark.java |  6 ++---
 .../internal/sql/api/StatementBuilderImplTest.java | 16 +--
 5 files changed, 26 insertions(+), 35 deletions(-)



(ignite-3) branch ignite-22611 deleted (was 7ececa4677)

2024-06-28 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22611
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


 was 7ececa4677 Avoid extending AutoClosable in Statement.

The revisions that were on this branch are still contained in
other references; therefore, this change does not discard any commits
from the repository.



(ignite-3) branch ignite-22611 updated: Avoid extending AutoClosable in Statement.

2024-06-28 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a commit to branch ignite-22611
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


The following commit(s) were added to refs/heads/ignite-22611 by this push:
 new 7ececa4677 Avoid extending AutoClosable in Statement.
7ececa4677 is described below

commit 7ececa4677ad4b19a4b9a4663dbd239564111a20
Author: amashenkov 
AuthorDate: Fri Jun 28 16:38:38 2024 +0300

Avoid extending AutoClosable in Statement.
---
 .../apache/ignite/example/sql/SqlApiExample.java   | 31 ++
 .../main/java/org/apache/ignite/sql/Statement.java |  6 +
 .../apache/ignite/internal/sql/StatementImpl.java  |  6 -
 .../ignite/internal/benchmark/SelectBenchmark.java |  6 ++---
 .../internal/sql/api/StatementBuilderImplTest.java | 16 +--
 5 files changed, 26 insertions(+), 39 deletions(-)

diff --git 
a/examples/src/main/java/org/apache/ignite/example/sql/SqlApiExample.java 
b/examples/src/main/java/org/apache/ignite/example/sql/SqlApiExample.java
index b9a762ce48..dd741d465f 100644
--- a/examples/src/main/java/org/apache/ignite/example/sql/SqlApiExample.java
+++ b/examples/src/main/java/org/apache/ignite/example/sql/SqlApiExample.java
@@ -93,22 +93,21 @@ public class SqlApiExample {
 try {
 System.out.println("\nPopulating 'CITIES' table...");
 
-try (Statement stmt = client.sql().createStatement("INSERT 
INTO CITIES (ID, NAME) VALUES (?, ?)")) {
-long rowsAdded = 0;
-
-try (ResultSet rs = client.sql().execute(tx, stmt, 1, 
"Forest Hill")) {
-rowsAdded += rs.affectedRows();
-}
-try (ResultSet rs = client.sql().execute(tx, stmt, 2, 
"Denver")) {
-rowsAdded += rs.affectedRows();
-}
-try (ResultSet rs = client.sql().execute(tx, stmt, 3, 
"St. Petersburg")) {
-rowsAdded += rs.affectedRows();
-}
-
-System.out.println("\nAdded cities: " + rowsAdded);
+Statement stmt = client.sql().createStatement("INSERT INTO 
CITIES (ID, NAME) VALUES (?, ?)");
+long rowsAdded = 0;
+
+try (ResultSet rs = client.sql().execute(tx, stmt, 1, 
"Forest Hill")) {
+rowsAdded += rs.affectedRows();
+}
+try (ResultSet rs = client.sql().execute(tx, stmt, 2, 
"Denver")) {
+rowsAdded += rs.affectedRows();
+}
+try (ResultSet rs = client.sql().execute(tx, stmt, 3, "St. 
Petersburg")) {
+rowsAdded += rs.affectedRows();
 }
 
+System.out.println("\nAdded cities: " + rowsAdded);
+
 
//--
 //
 // Populating 'ACCOUNTS' table.
@@ -117,7 +116,7 @@ public class SqlApiExample {
 
 System.out.println("\nPopulating 'ACCOUNTS' table...");
 
-long rowsAdded = Arrays.stream(client.sql().executeBatch(tx,
+rowsAdded = Arrays.stream(client.sql().executeBatch(tx,
 "INSERT INTO ACCOUNTS (ACCOUNT_ID, CITY_ID, 
FIRST_NAME, LAST_NAME, BALANCE) values (?, ?, ?, ?, ?)",
 BatchedArguments.of(1, 1, "John", "Doe", 
1000.0d)
 .add(2, 1, "Jane", "Roe", 2000.0d)
@@ -221,8 +220,6 @@ public class SqlApiExample {
 .thenCompose(SqlApiExample::fetchAllRowsInto)
 .get();
 
-stmt.close();
-
 System.out.println("\nDropping the tables...");
 
 client.sql().executeScript(
diff --git a/modules/api/src/main/java/org/apache/ignite/sql/Statement.java 
b/modules/api/src/main/java/org/apache/ignite/sql/Statement.java
index a2ae260aec..11e6dd29b3 100644
--- a/modules/api/src/main/java/org/apache/ignite/sql/Statement.java
+++ b/modules/api/src/main/java/org/apache/ignite/sql/Statement.java
@@ -29,7 +29,7 @@ import java.util.concurrent.TimeUnit;
  * If the server-side state does not exist due to any reason - the very first 
run, current client node reconnect, cache
  * invalidation, etc. - this state is restored automatically. This may cause 
the user to experience a slightly increased latency.
  */
-public interface Statement extends AutoCloseable {
+public interface Statement {
 /**
  * Returns a string representation of an SQL statement.
  *
@@ -75,10 +75,6 @@ public interface Statement extends AutoCloseable {
  */
 StatementB

(ignite-3) branch ignite-22611 created (now 243b2b9bd4)

2024-06-28 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-22611
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


  at 243b2b9bd4 Make Statement.close not throwing exception.

This branch includes the following new commits:

 new 243b2b9bd4 Make Statement.close not throwing exception.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.




(ignite-3) 01/01: Make Statement.close not throwing exception.

2024-06-28 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a commit to branch ignite-22611
in repository https://gitbox.apache.org/repos/asf/ignite-3.git

commit 243b2b9bd42762427d61dabd8ba3a565f52bef03
Author: amashenkov 
AuthorDate: Fri Jun 28 16:31:15 2024 +0300

Make Statement.close not throwing exception.
---
 modules/api/src/main/java/org/apache/ignite/sql/Statement.java| 4 
 .../src/main/java/org/apache/ignite/internal/sql/StatementImpl.java   | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/modules/api/src/main/java/org/apache/ignite/sql/Statement.java 
b/modules/api/src/main/java/org/apache/ignite/sql/Statement.java
index 40c8702946..a2ae260aec 100644
--- a/modules/api/src/main/java/org/apache/ignite/sql/Statement.java
+++ b/modules/api/src/main/java/org/apache/ignite/sql/Statement.java
@@ -75,6 +75,10 @@ public interface Statement extends AutoCloseable {
  */
 StatementBuilder toBuilder();
 
+/** {@inheritDoc} */
+@Override
+void close();
+
 /**
  * Statement builder provides methods for building a statement object, 
which represents a query and holds query-specific 
  * settings that overrides the session defaults.
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/sql/StatementImpl.java 
b/modules/core/src/main/java/org/apache/ignite/internal/sql/StatementImpl.java
index 8b5f894d60..fc8000c81e 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/sql/StatementImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/sql/StatementImpl.java
@@ -123,7 +123,7 @@ public class StatementImpl implements Statement {
 
 /** {@inheritDoc} */
 @Override
-public void close() throws Exception {
+public void close() {
 // No-op.
 }
 }



(ignite-3) branch ignite-20503 deleted (was 8b6bf933dc)

2024-06-27 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-20503
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


 was 8b6bf933dc Merge branch 'main' into ignite-20503

The revisions that were on this branch are still contained in
other references; therefore, this change does not discard any commits
from the repository.



(ignite-3) branch main updated: IGNITE-20503 Sql. Support big clusters by mapping service (#3966)

2024-06-27 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov 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 7bfa2a0fe8 IGNITE-20503 Sql. Support big clusters by mapping service 
(#3966)
7bfa2a0fe8 is described below

commit 7bfa2a0fe812f67c0a14a5e5110836e373f2cd60
Author: Andrew V. Mashenkov 
AuthorDate: Thu Jun 27 16:45:56 2024 +0300

IGNITE-20503 Sql. Support big clusters by mapping service (#3966)
---
 .../sql/engine/exec/mapping/ExecutionTarget.java   |  17 +-
 .../sql/engine/exec/mapping/FragmentMapper.java|   6 +-
 .../sql/engine/exec/mapping/MappingContext.java|   7 +-
 .../AbstractTarget.java| 151 +++
 .../AllOfTarget.java   |  10 +-
 .../LargeClusterFactory.java}  |  56 ++--
 .../OneOfTarget.java   |  30 +--
 .../PartitionedTarget.java |  46 ++--
 .../SomeOfTarget.java  |  25 +-
 .../exec/mapping/smallcluster/AbstractTarget.java  |  42 ++-
 .../exec/mapping/smallcluster/AllOfTarget.java |   5 -
 .../exec/mapping/smallcluster/OneOfTarget.java |   8 +-
 .../mapping/smallcluster/PartitionedTarget.java|   7 +-
 .../mapping/smallcluster/SmallClusterFactory.java  |  19 +-
 .../exec/mapping/smallcluster/SomeOfTarget.java|   5 -
 .../sql/engine/benchmarks/MappingBenchmark.java| 180 +
 .../mapping/ExecutionTargetFactorySelfTest.java| 284 +
 17 files changed, 700 insertions(+), 198 deletions(-)

diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/mapping/ExecutionTarget.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/mapping/ExecutionTarget.java
index 47f629fc2c..b988eace26 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/mapping/ExecutionTarget.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/mapping/ExecutionTarget.java
@@ -35,9 +35,7 @@ public interface ExecutionTarget {
  * Colocation is a process of finding intersection of the given two 
targets. For example,
  * lets assume that we have two targets T1 and T2. T1 may be execute on 
one of the nodes
  * [N1, N2, N3]. T2 may be executed on one of the nodes [N2, N3, N4, N5]. 
The result of
- * colocation of T1 and T2 will be target OneOf[N2, N3]. Please note, that 
result of this
- * example requires finalisation, since we've got two nodes [N2, N3], but 
target should
- * be executed on only one of them.
+ * colocation of T1 and T2 will be target OneOf[N2, N3].
  *
  * @param other A target to colocate with.
  * @return A colocated target.
@@ -47,22 +45,11 @@ public interface ExecutionTarget {
 
 /**
  * Removes options from current target which are not colocated with other 
target.
- * 
+ *
  * If target has several options, remove those are not presented in 
given target to improve colocation.
  *
  * @param other Target with which we need to colocate current target.
  * @return Returns new target in case current has been adjusted, return 
{@code this} instance otherwise.
  */
 ExecutionTarget trimTo(ExecutionTarget other);
-
-/**
- * Finalises target by choosing exactly one node for targets with multiple 
options.
- *
- * Some targets may have several options, so we have to pick one in 
order to get
- * correct results. Call to this methods resolves this ambiguity by 
truncating all
- * but one option. Which exactly option will be left is implementation 
defined.
- *
- * @return Finalised target.
- */
-ExecutionTarget finalise();
 }
diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/mapping/FragmentMapper.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/mapping/FragmentMapper.java
index 271a7055bb..d252b7a118 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/mapping/FragmentMapper.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/mapping/FragmentMapper.java
@@ -804,10 +804,8 @@ class FragmentMapper {
 
 @Override
 public List createColocationGroups() {
-ExecutionTarget finalised = target.finalise();
-
-List nodes = 
context.targetFactory().resolveNodes(finalised);
-Int2ObjectMap assignments = 
context.targetFactory().resolveAssignments(finalised);
+List nodes = context.targetFactory().resolveNodes(target);
+Int2ObjectMap assignments = 
context.targetFactory().resolveAssignments(target);
 
 return List.of(
 new ColocationGroup(
diff --git 
a/module

(ignite-3) branch ignite-20503 updated (87aeb32bfd -> 8b6bf933dc)

2024-06-27 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-20503
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


from 87aeb32bfd Minor after review.
 add c8685ff5b6 IGNITE-22269 Introduce new err code NULLABLE_VALUE_ERR 
(#3983)
 add 525c3ee2a4 IGNITE-22554 Rename nonStableNodeAssignments and simplify 
code (#3969)
 add 3095905ce4 IGNITE-22262 Sql. Fixed API usage example (SqlApiExample) 
(#3961)
 add da7a116d8c IGNITE-22582 Clarify KeyValueView#getAll javadoc about 
non-existing keys (#3988)
 add c8bd7550b6 IGNITE-22463 Improve CLI error message when executing 
commands on uninitialized cluster (#3921)
 add 9d7bc87c1b IGNITE-22561 Get rid of ByteString in messages (#3987)
 add 1783a4a3de IGNITE-22541 Fix bool handling in C++ binary_tuple_builder 
(#3984)
 add de847a9fa2 IGNITE-22589 Rename 
StopNodeOrHaltFailureHandlerConfigurationSchema.timeout to timeoutMillis (#3991)
 add 9b42e3e815 IGNITE-22073 Sql. Add processing of the provided query 
timeout (#3953)
 add aab9667bda IGNITE-22589 Fix FailureProcessor initialization (#3994)
 add 6e7f25d33c IGNITE-22569 Java thin: fix SqlBatchException propagation 
(#3982)
 add 055b61f97c IGNITE-22539 .NET: Add JobTarget (#3993)
 add 8b6bf933dc Merge branch 'main' into ignite-20503

No new revisions were added by this update.

Summary of changes:
 .../ignite/example/sql/ItSqlExamplesTest.java  |   2 -
 .../apache/ignite/example/sql/SqlApiExample.java   | 108 +---
 .../java/org/apache/ignite/lang/ErrorGroups.java   |  29 +-
 .../ignite/lang/UnexpectedNullValueException.java  |   2 +-
 .../org/apache/ignite/sql/SqlBatchException.java   |  22 +-
 .../java/org/apache/ignite/sql/SqlException.java   |   9 +-
 .../java/org/apache/ignite/table/KeyValueView.java |   1 +
 ...liCommandTestNotInitializedIntegrationBase.java |   7 +
 .../cli/commands/ItNonInitializedClusterTest.java  | 161 +++
 .../commands/ItReplNonInitializedClusterTest.java} |  21 +-
 .../ItRestartPartitionsReplCommandTest.java|  27 --
 .../cluster/config/ClusterConfigShowCommand.java   |   4 +-
 .../config/ClusterConfigShowReplCommand.java   |   2 +-
 .../cluster/config/ClusterConfigUpdateCommand.java |   4 +-
 .../config/ClusterConfigUpdateReplCommand.java |   2 +-
 .../cluster/topology/LogicalTopologyCommand.java   |   4 +-
 .../topology/LogicalTopologyReplCommand.java   |   2 +-
 .../cluster/unit/ClusterUnitDeployCommand.java |   2 +-
 .../cluster/unit/ClusterUnitDeployReplCommand.java |   2 +-
 .../cluster/unit/ClusterUnitListCommand.java   |   2 +-
 .../cluster/unit/ClusterUnitListReplCommand.java   |   2 +-
 .../cluster/unit/ClusterUnitUndeployCommand.java   |   2 +-
 .../unit/ClusterUnitUndeployReplCommand.java   |   2 +-
 .../node/metric/NodeMetricSetListCommand.java  |   2 +
 .../node/metric/NodeMetricSetListReplCommand.java  |   2 +
 .../metric/NodeMetricSourceDisableCommand.java |   2 +-
 .../metric/NodeMetricSourceDisableReplCommand.java |   2 +-
 .../node/metric/NodeMetricSourceEnableCommand.java |   2 +-
 .../metric/NodeMetricSourceEnableReplCommand.java  |   2 +-
 .../node/metric/NodeMetricSourceListCommand.java   |   2 +-
 .../metric/NodeMetricSourceListReplCommand.java|   2 +-
 .../commands/node/unit/NodeUnitListCommand.java|   2 +-
 .../node/unit/NodeUnitListReplCommand.java |   2 +-
 .../partitions/reset/ResetPartitionsCommand.java   |   2 +
 .../reset/ResetPartitionsReplCommand.java  |   2 +
 .../restart/RestartPartitionsCommand.java  |   2 +
 .../restart/RestartPartitionsReplCommand.java  |   2 +
 .../partitions/states/PartitionStatesCommand.java  |   2 +
 .../states/PartitionStatesReplCommand.java |   2 +
 .../ClusterNotInitializedExceptionHandler.java |  18 ++
 .../internal/client/proto/ErrorExtensions.java |   2 +
 .../jdbc/proto/event/JdbcBatchExecuteRequest.java  |  25 +-
 .../proto/event/JdbcBatchPreparedStmntRequest.java |  26 +-
 .../jdbc/proto/event/JdbcQueryExecuteRequest.java  |  29 +-
 .../handler/ClientInboundMessageHandler.java   |  27 +-
 .../client/handler/JdbcQueryEventHandlerImpl.java  |  43 ++-
 .../requests/sql/ClientSqlExecuteBatchRequest.java |  52 +---
 .../handler/JdbcQueryEventHandlerImplTest.java |  14 +-
 .../ignite/internal/client/TcpClientChannel.java   |  32 ++-
 .../ignite/internal/client/sql/ClientSql.java  |  44 +--
 .../apache/ignite/internal/util/ArrayUtils.java|   4 +
 .../apache/ignite/internal/util/Cancellable.java   |   4 +-
 modules/failure-handler/build.gradle   |   1 +
 .../ignite/internal/failure/FailureProcessor.java  |  11 +-
 .../failure/handlers/NoOpFailureHandler.java   |   2 +-
 .../failure/handlers/StopNodeFailureHandler.java   |   2 +-
 .../handlers/StopNodeOrHaltFailureHandler.java |   4 +-
 ...odeOrHaltFailureHandlerConfigurationSchema.java |   4 +-
 .../intern

(ignite-3) branch ignite-20503 updated (445bcf8a44 -> 87aeb32bfd)

2024-06-27 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-20503
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


from 445bcf8a44 Styles
 add 87aeb32bfd Minor after review.

No new revisions were added by this update.

Summary of changes:
 .../sql/engine/exec/mapping/largecluster/AbstractTarget.java| 6 --
 .../sql/engine/exec/mapping/smallcluster/AbstractTarget.java| 6 +-
 2 files changed, 9 insertions(+), 3 deletions(-)



(ignite-3) branch ignite-20503 updated (15fadc3258 -> 445bcf8a44)

2024-06-26 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-20503
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


from 15fadc3258 Fix partitioned target mapping. Tests added.
 add 445bcf8a44 Styles

No new revisions were added by this update.

Summary of changes:
 .../internal/sql/engine/exec/mapping/largecluster/AbstractTarget.java | 2 +-
 .../ignite/internal/sql/engine/benchmarks/MappingBenchmark.java   | 4 ++--
 .../sql/engine/exec/mapping/ExecutionTargetFactorySelfTest.java   | 3 ++-
 3 files changed, 5 insertions(+), 4 deletions(-)



(ignite-3) branch ignite-20503 updated (189378c17d -> 15fadc3258)

2024-06-26 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-20503
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


from 189378c17d Minors after merge with master.
 add 858251402d wip
 add 15fadc3258 Fix partitioned target mapping. Tests added.

No new revisions were added by this update.

Summary of changes:
 .../exec/mapping/largecluster/AbstractTarget.java  | 75 --
 .../exec/mapping/smallcluster/AbstractTarget.java  | 23 --
 .../sql/engine/benchmarks/MappingBenchmark.java| 31 +---
 .../mapping/ExecutionTargetFactorySelfTest.java| 88 ++
 4 files changed, 145 insertions(+), 72 deletions(-)



(ignite-3) branch ignite-20503 updated (bfcc6abb93 -> 189378c17d)

2024-06-25 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-20503
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


 discard bfcc6abb93 Minors after merge with master.
 discard ebc340aa1d Minors after review.
 discard 6c2a735f51 Drop ExecutionTarget.finalise method.
 discard 8ca6c997be add tests
 discard 981e71dee7 Minor.
 discard c73c7c4cbc Minor.
 discard 94788b4871 Styles.
 discard 1d7f9ccbfe revert unrelated change
 discard 58e1478c35 wip
 discard 3317de5fa5 wip
 add 6ec26881b7 wip
 add 142018696e Get rid of finalise method
 add a489acfd32 Minors after review.
 add 189378c17d Minors after merge with master.

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (bfcc6abb93)
\
 N -- N -- N   refs/heads/ignite-20503 (189378c17d)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 .../internal/sql/engine/exec/mapping/largecluster/AbstractTarget.java   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)



(ignite-3) branch ignite-20503 updated (92308eedca -> bfcc6abb93)

2024-06-25 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-20503
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


omit 92308eedca Minors after review.
omit 467bc46178 Drop ExecutionTarget.finalise method.
omit 9d8d693b69 add tests
omit 99cbd76bd3 Minor.
omit 9c29728730 Minor.
omit 1aaa88e441 Styles.
omit 82fbd5b870 revert unrelated change
omit 3b581b6329 wip
omit a5143ed9a6 wip
 add adf91949fc IGNITE-22421: Sql. Interval type. DDL statements should 
return a proper error (#3936)
 add 3d83c35107 IGNITE-22435 Add JobTarget interface (#3950)
 add d736a8bc53 IGNITE-22545 Get rid of 
PageMemoryProfileConfigurationSchema#memoryAllocator (#3958)
 add 82ce4a3ab0 IGNITE-22213 Enable processing of client requests only 
after all components have started (#3951)
 add c8657b8992 IGNITE-22550 Get rid of 
RocksDbProfileConfigurationSchema#numShardBits (#3960)
 add 75400bbe28 IGNITE-22231 Implement zone based replicas start on the 
zone creation (#3858)
 add 73d3bb8e7f Bump com.netflix.nebula.ospackage from 11.9.0 to 11.9.1 
(#3840)
 add 9f6d69fe4f IGNITE-22462  Add planner test to verify type coercion for 
set operations like UNION, INTERSECT and EXCEPT (#3957)
 add b02d6de645 IGNITE-22551 Remove ReuseListImpl class (#3963)
 add d34486b099 IGNITE-21661 Add test that reset partition can use data 
from a node outside of stable assignments (#3945)
 add 2df3f3f03e IGNITE-22520 Use IndexMeta when building the index (#3946)
 add dd5fe83212 IGNITE-22552 Add sync methods to IgniteCatalog (#3962)
 add d5adf9ed95 IGNITE-22385 Make rest and cli api to declarative style 
(#3968)
 add c662935199 IGNITE-22441 Add parameter object to Data Streamer (#3971)
 add 79aad62d34 IGNITE-22430 Rename JobStatus to JobState and vice versa 
(#3942)
 add f98f98e91b IGNITE-22467 Add getAssignments method to the 
PlacementDriver (#3947)
 add 914f942668 IGNITE-22436 Add tests for rebalance triggers (#3965)
 add d9d9d4a515 IGNITE-19383 Add git last commit hash to version (#3925)
 add 7f719f088f IGNITE-22548 Publish Javadocs as jar (#3959)
 add 66a3d69e86 IGNITE-22558 Optimize sending to yourself in 
DefaultMessagingService (#3974)
 add 6969d1a0fa IGNITE-22544 Benchmark and optimize raft commands 
serialization. (#3975)
 add af9f165248 Bump com.github.spotbugs from 6.0.17 to 6.0.18 (#3978)
 add 5342b4355c IGNITE-22422 C++ Fix compute_test.all_arg_types flakiness 
(#3981)
 add 4206daa4df IGNITE-22270 MarshallerException uses INTERNAL_ERR code 
(#3948)
 add f6bc76c658 IGNITE-22351 Add Doxyfile to C++ project (#3980)
 add 79f6cfc21f IGNITE-17059 Java thin: Implement batch SQL API for java 
thin client (#3964)
 add 732cfddb0e IGNITE-22466 Sql. Support mapping to non-primary replicas 
(#3972)
 add 3317de5fa5 wip
 add 58e1478c35 wip
 add 1d7f9ccbfe revert unrelated change
 add 94788b4871 Styles.
 add c73c7c4cbc Minor.
 add 981e71dee7 Minor.
 add 8ca6c997be add tests
 add 6c2a735f51 Drop ExecutionTarget.finalise method.
 add ebc340aa1d Minors after review.
 add bfcc6abb93 Minors after merge with master.

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (92308eedca)
\
 N -- N -- N   refs/heads/ignite-20503 (bfcc6abb93)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 .../generate-version-file.gradle   |   29 +-
 buildscripts/java-core.gradle  |1 +
 buildscripts/sql-parser-generator.gradle   |1 +
 .../config/storage/persistent.adoc |1 -
 .../config/storage/rocksdb.adoc|1 -
 .../config/storage/volatile.adoc   |1 -
 docs/_docs/general-tips.adoc   |3 -
 .../ignite/example/sql/ItSqlExamplesTest.java  |2 +-
 gradle/libs.versions.toml  |4 +-
 .../ignite/internal/affinity/Assignments.java  |   20 +
 .../internal/affinity/TokenizedAssignments.java}   |   18 +-
 .../affinity/TokenizedAssignmentsImpl.java |   62 +
 .../org/apache/ignite/catalog/IgniteCatalog.java   |   55 +
 .../apache/ignite/compute/AnyNodeJobTarget.java}   |   37 +-
 .../apache/ignite/compute/ColocatedJobTarget.java  |   59 +
 .../org/apache/ignite/comput

(ignite-3) branch ignite-20503 updated (467bc46178 -> 92308eedca)

2024-06-25 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-20503
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


from 467bc46178 Drop ExecutionTarget.finalise method.
 add 92308eedca Minors after review.

No new revisions were added by this update.

Summary of changes:
 .../engine/exec/mapping/largecluster/AbstractTarget.java| 13 +++--
 .../engine/exec/mapping/smallcluster/AbstractTarget.java|  4 ++--
 2 files changed, 5 insertions(+), 12 deletions(-)



(ignite-3) branch ignite-20503 updated (9d8d693b69 -> 467bc46178)

2024-06-25 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-20503
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


from 9d8d693b69 add tests
 add 467bc46178 Drop ExecutionTarget.finalise method.

No new revisions were added by this update.

Summary of changes:
 .../internal/sql/engine/exec/mapping/ExecutionTarget.java | 15 +--
 .../internal/sql/engine/exec/mapping/FragmentMapper.java  |  6 ++
 .../engine/exec/mapping/largecluster/AbstractTarget.java  | 13 +++--
 .../sql/engine/exec/mapping/largecluster/AllOfTarget.java |  5 -
 .../exec/mapping/largecluster/LargeClusterFactory.java|  8 
 .../sql/engine/exec/mapping/largecluster/OneOfTarget.java | 11 +--
 .../exec/mapping/largecluster/PartitionedTarget.java  |  5 -
 .../engine/exec/mapping/largecluster/SomeOfTarget.java|  5 -
 .../engine/exec/mapping/smallcluster/AbstractTarget.java  | 11 ++-
 .../sql/engine/exec/mapping/smallcluster/AllOfTarget.java |  5 -
 .../sql/engine/exec/mapping/smallcluster/OneOfTarget.java |  8 +---
 .../exec/mapping/smallcluster/PartitionedTarget.java  |  7 +--
 .../exec/mapping/smallcluster/SmallClusterFactory.java|  8 
 .../engine/exec/mapping/smallcluster/SomeOfTarget.java|  5 -
 .../exec/mapping/ExecutionTargetFactorySelfTest.java  |  3 +--
 15 files changed, 36 insertions(+), 79 deletions(-)



(ignite-3) branch ignite-20503 updated (99cbd76bd3 -> 9d8d693b69)

2024-06-25 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-20503
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


from 99cbd76bd3 Minor.
 add 9d8d693b69 add tests

No new revisions were added by this update.

Summary of changes:
 .../sql/engine/exec/mapping/largecluster/AbstractTarget.java | 2 ++
 .../sql/engine/exec/mapping/smallcluster/AbstractTarget.java | 2 ++
 .../sql/engine/exec/mapping/ExecutionTargetFactorySelfTest.java  | 9 +
 3 files changed, 13 insertions(+)



  1   2   3   4   5   6   7   8   9   10   >