(ignite-3) branch main updated: IGNITE-21486 Pass node name to NamedThreadFactory where possible (#3181)

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

tkalkirill 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 d56c817421 IGNITE-21486 Pass node name to NamedThreadFactory where 
possible (#3181)
d56c817421 is described below

commit d56c8174219b0579fd0d8904928b207e8bb1475d
Author: Roman Puchkovskiy 
AuthorDate: Thu Feb 8 10:01:15 2024 +0400

IGNITE-21486 Pass node name to NamedThreadFactory where possible (#3181)
---
 .../apache/ignite/internal/catalog/ClockWaiter.java  |  4 ++--
 .../management/ClusterManagementGroupManager.java|  7 +--
 .../internal/deployunit/DeploymentManagerImpl.java   |  2 +-
 .../internal/deployunit/FileDeployerService.java | 11 +--
 .../metastore/NodeStatusWatchListener.java   |  7 +--
 .../ignite/deployment/FileDeployerServiceTest.java   |  2 +-
 .../compute/loader/JobContextManagerTest.java|  2 +-
 ...IgniteDistributionZoneManagerNodeRestartTest.java |  2 +-
 .../internal/raft/server/impl/JraftServerImpl.java   |  4 ++--
 .../raft/storage/impl/DefaultLogStorageFactory.java  | 13 -
 .../impl/VolatileLogStorageFactoryCreator.java   |  4 ++--
 .../raft/storage/logit/LogitLogStorageFactory.java   |  4 ++--
 .../raft/jraft/storage/impl/LogStorageBenchmark.java |  2 +-
 .../jraft/storage/logit/LogitLogStorageTest.java |  2 +-
 .../configuration/generator/DefaultsGenerator.java   |  2 +-
 .../ItDistributedConfigurationPropertiesTest.java|  2 +-
 .../ItDistributedConfigurationStorageTest.java   |  2 +-
 .../internal/runner/app/ItIgniteNodeRestartTest.java |  2 +-
 .../org/apache/ignite/internal/app/IgniteImpl.java   |  7 ---
 .../storage/DistributedConfigurationStorage.java |  6 --
 .../storage/LocalFileConfigurationStorage.java   | 20 +---
 .../storage/DistributedConfigurationStorageTest.java |  2 +-
 .../sql/engine/prepare/PrepareServiceImpl.java   |  2 +-
 .../rebalance/ItRebalanceDistributedTest.java|  2 +-
 .../ignite/internal/table/distributed/gc/MvGc.java   |  3 +--
 .../snapshot/outgoing/OutgoingSnapshotsManager.java  | 16 +++-
 26 files changed, 93 insertions(+), 39 deletions(-)

diff --git 
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/ClockWaiter.java
 
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/ClockWaiter.java
index fbc7f8ec47..25bdf80bb4 100644
--- 
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/ClockWaiter.java
+++ 
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/ClockWaiter.java
@@ -88,7 +88,7 @@ public class ClockWaiter implements IgniteComponent {
 1,
 TimeUnit.MINUTES,
 new LinkedBlockingQueue<>(),
-new NamedThreadFactory(nodeName + 
"-clock-waiter-future-executor", LOG)
+NamedThreadFactory.create(nodeName, 
"clock-waiter-future-executor", LOG)
 );
 }
 
@@ -96,7 +96,7 @@ public class ClockWaiter implements IgniteComponent {
 public CompletableFuture start() {
 clock.addUpdateListener(updateListener);
 
-scheduler = Executors.newSingleThreadScheduledExecutor(new 
NamedThreadFactory(nodeName + "-clock-waiter-scheduler", LOG));
+scheduler = 
Executors.newSingleThreadScheduledExecutor(NamedThreadFactory.create(nodeName, 
"clock-waiter-scheduler", LOG));
 
 return nullCompletedFuture();
 }
diff --git 
a/modules/cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/ClusterManagementGroupManager.java
 
b/modules/cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/ClusterManagementGroupManager.java
index 424c0fc578..372ce984fd 100644
--- 
a/modules/cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/ClusterManagementGroupManager.java
+++ 
b/modules/cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/ClusterManagementGroupManager.java
@@ -108,8 +108,7 @@ public class ClusterManagementGroupManager implements 
IgniteComponent {
 private final CmgMessagesFactory msgFactory = new CmgMessagesFactory();
 
 /** Delayed executor. */
-private final ScheduledExecutorService scheduledExecutor =
-Executors.newSingleThreadScheduledExecutor(new 
NamedThreadFactory("cmg-manager", LOG));
+private final ScheduledExecutorService scheduledExecutor;
 
 private final ClusterService clusterService;
 
@@ -152,6 +151,10 @@ public class ClusterManagementGroupManager implements 
IgniteComponent {
 this.configuration = configuration;
 this.localStateStorage = new LocalStateStorage(vault);
 this.nodeAttributes = nodeAttributes;
+
+scheduledExecutor = Executors.newSingleThreadScheduledExecutor(
+NamedThreadFactory.create(clusterService.nodeName()

(ignite-3) branch main updated: IGNITE-21317 Disable ItRebalanceDistributedTest#testClientsAreUpdatedAfterPendingRebalanceHandled (#3183)

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

sanpwc 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 60ea39dbdd IGNITE-21317 Disable 
ItRebalanceDistributedTest#testClientsAreUpdatedAfterPendingRebalanceHandled 
(#3183)
60ea39dbdd is described below

commit 60ea39dbddbd550af00f3bc791422a549ce69caf
Author: Alexander Lapin 
AuthorDate: Wed Feb 7 18:40:45 2024 +0200

IGNITE-21317 Disable 
ItRebalanceDistributedTest#testClientsAreUpdatedAfterPendingRebalanceHandled 
(#3183)
---
 .../org/apache/ignite/internal/rebalance/ItRebalanceDistributedTest.java | 1 +
 1 file changed, 1 insertion(+)

diff --git 
a/modules/table/src/integrationTest/java/org/apache/ignite/internal/rebalance/ItRebalanceDistributedTest.java
 
b/modules/table/src/integrationTest/java/org/apache/ignite/internal/rebalance/ItRebalanceDistributedTest.java
index d9059c0ae9..093355bd88 100644
--- 
a/modules/table/src/integrationTest/java/org/apache/ignite/internal/rebalance/ItRebalanceDistributedTest.java
+++ 
b/modules/table/src/integrationTest/java/org/apache/ignite/internal/rebalance/ItRebalanceDistributedTest.java
@@ -665,6 +665,7 @@ public class ItRebalanceDistributedTest extends 
BaseIgniteAbstractTest {
 }
 
 @Test
+@Disabled("https://issues.apache.org/jira/browse/IGNITE-21317";)
 void testClientsAreUpdatedAfterPendingRebalanceHandled() throws Exception {
 Node node = getNode(0);
 



(ignite-3) branch main updated: IGNITE-21488 Disable thread assertions by default (#3182)

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

ibessonov 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 a46b779688 IGNITE-21488 Disable thread assertions by default (#3182)
a46b779688 is described below

commit a46b77968844d589d163ac2d06e32d8c00f41b13
Author: Roman Puchkovskiy 
AuthorDate: Wed Feb 7 20:38:25 2024 +0400

IGNITE-21488 Disable thread assertions by default (#3182)
---
 .../main/java/org/apache/ignite/internal/worker/ThreadAssertions.java   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/modules/workers/src/main/java/org/apache/ignite/internal/worker/ThreadAssertions.java
 
b/modules/workers/src/main/java/org/apache/ignite/internal/worker/ThreadAssertions.java
index 64b54c2c35..2b66c4a99f 100644
--- 
a/modules/workers/src/main/java/org/apache/ignite/internal/worker/ThreadAssertions.java
+++ 
b/modules/workers/src/main/java/org/apache/ignite/internal/worker/ThreadAssertions.java
@@ -30,7 +30,7 @@ public class ThreadAssertions {
 
 private static final IgniteLogger LOG = 
Loggers.forClass(ThreadAssertions.class);
 
-private static final boolean ENABLED = 
Boolean.parseBoolean(System.getProperty(ENABLED_PROPERTY, "true"));
+private static final boolean ENABLED = 
Boolean.parseBoolean(System.getProperty(ENABLED_PROPERTY, "false"));
 
 /**
  * Returns {@code true} if thread assertions are enabled.



(ignite) branch master updated: IGNITE-21368 MVCC code removal from transactional classes (#11203)

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

av pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git


The following commit(s) were added to refs/heads/master by this push:
 new b53bd5549df IGNITE-21368 MVCC code removal from transactional classes 
(#11203)
b53bd5549df is described below

commit b53bd5549df38fc9fab80fed5c1a77baa2f864bd
Author: Ilya Shishkov 
AuthorDate: Wed Feb 7 19:25:13 2024 +0300

IGNITE-21368 MVCC code removal from transactional classes (#11203)
---
 .../processors/cache/GridCacheAdapter.java |   3 -
 .../GridDistributedTxRemoteAdapter.java|   4 +-
 .../dht/GridDhtTransactionalCacheAdapter.java  |  27 +-
 .../distributed/dht/GridDhtTxFinishFuture.java |  19 +-
 .../distributed/dht/GridDhtTxLocalAdapter.java |  10 -
 .../distributed/dht/GridDhtTxPrepareFuture.java|  11 +-
 .../dht/NearTxQueryEnlistResultHandler.java|   4 +-
 .../near/GridNearTxAbstractEnlistFuture.java   |   8 -
 .../distributed/near/GridNearTxEnlistFuture.java   |  11 +-
 .../distributed/near/GridNearTxFinishFuture.java   |   2 +-
 .../cache/distributed/near/GridNearTxLocal.java| 439 +
 .../near/GridNearTxQueryEnlistFuture.java  |   4 +-
 .../near/GridNearTxQueryResultsEnlistFuture.java   |  11 +-
 .../GridNearReadRepairAbstractFuture.java  |   2 +-
 .../internal/processors/cache/mvcc/MvccUtils.java  |  29 +-
 .../cache/query/IgniteQueryErrorCode.java  |   4 -
 .../cache/transactions/IgniteInternalTx.java   |  11 -
 .../cache/transactions/IgniteTransactionsImpl.java |   1 -
 .../cache/transactions/IgniteTxAdapter.java|  17 -
 .../cache/transactions/IgniteTxHandler.java|   8 +-
 .../cache/transactions/IgniteTxLocalAdapter.java   |  12 +-
 .../cache/transactions/IgniteTxManager.java|   2 -
 .../internal/processors/odbc/SqlListenerUtils.java |   3 -
 .../platform/client/tx/ClientTxStartRequest.java   |   1 -
 .../TransactionMixedModeException.java |  35 --
 .../main/resources/META-INF/classnames.properties  |   1 -
 .../TxDataConsistencyOnCommitFailureTest.java  |   9 +-
 .../processors/query/h2/IgniteH2Indexing.java  | 337 
 .../processors/cache/jta/CacheJtaManager.java  |   1 -
 29 files changed, 105 insertions(+), 921 deletions(-)

diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
index 789bbc11a1d..f35f32ee2dd 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
@@ -3683,7 +3683,6 @@ public abstract class GridCacheAdapter implements 
IgniteInternalCache implements 
IgniteInternalCache implements 
IgniteInternalCache reservedParts = new HashSet<>();
 
 try {
-assert mvccSnapshot == null;
-
 Collection entries = near() ? 
allEntries() : writeEntries();
 
 // Data entry to write to WAL.
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java
index 86cf0850114..e25fff47960 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java
@@ -73,8 +73,6 @@ import 
org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxQu
 import 
org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxQueryResultsEnlistResponse;
 import 
org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxRemote;
 import 
org.apache.ignite.internal.processors.cache.distributed.near.GridNearUnlockRequest;
-import org.apache.ignite.internal.processors.cache.mvcc.MvccSnapshot;
-import org.apache.ignite.internal.processors.cache.mvcc.MvccSnapshotWithoutTxs;
 import org.apache.ignite.internal.processors.cache.transactions.IgniteTxEntry;
 import org.apache.ignite.internal.processors.cache.transactions.IgniteTxKey;
 import 
org.apache.ignite.internal.processors.cache.transactions.IgniteTxLocalEx;
@@ -102,7 +100,6 @@ import org.jetbrains.annotations.Nullable;
 import static org.apache.ignite.cache.CacheWriteSynchronizationMode.FULL_SYNC;
 import static 
org.apache.ignite.internal.processors.cache.GridCacheOperation.NOOP;
 import static 
org.apache.ignite.internal.processors.cache.GridCacheUtils.isNearEnabled;
-import static 
org.apache.ignite.internal.processors.cache.mvcc.MvccUtil

(ignite-3) branch main updated: IGNITE-21473 Adjust Tx tests structure (#3169)

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

sanpwc 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 5b360b8198 IGNITE-21473 Adjust Tx tests structure (#3169)
5b360b8198 is described below

commit 5b360b8198b7007b7869316918f08270b00acba9
Author: Denis Chudov 
AuthorDate: Wed Feb 7 17:31:04 2024 +0300

IGNITE-21473 Adjust Tx tests structure (#3169)
---
 .../ItTxAbstractDistributedTestSingleNode.java | 194 ++
 .../ItTxDistributedCleanupRecoveryTest.java|   8 +-
 .../distributed/ItTxDistributedTestSingleNode.java | 241 +
 .../ItTxDistributedTestSingleNodeCollocated.java   |   2 +-
 ...xDistributedTestSingleNodeNoCleanupMessage.java |   8 +-
 ...ItTxDistributedTestThreeNodesThreeReplicas.java |   3 +-
 .../ignite/distributed/ReplicaUnavailableTest.java |   2 +-
 .../apache/ignite/distributed/ItTxTestCluster.java |  26 +-
 .../ignite/internal/table/TxAbstractTest.java  | 400 -
 .../internal/tx/impl/ReadWriteTransactionImpl.java |  18 +-
 10 files changed, 465 insertions(+), 437 deletions(-)

diff --git 
a/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItTxAbstractDistributedTestSingleNode.java
 
b/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItTxAbstractDistributedTestSingleNode.java
new file mode 100644
index 00..b9dce5b0cc
--- /dev/null
+++ 
b/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItTxAbstractDistributedTestSingleNode.java
@@ -0,0 +1,194 @@
+/*
+ * 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.distributed;
+
+import static 
org.apache.ignite.internal.testframework.IgniteTestUtils.assertThrowsWithCode;
+import static 
org.apache.ignite.internal.testframework.IgniteTestUtils.runMultiThreadedAsync;
+import static 
org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.willSucceedFast;
+import static 
org.apache.ignite.lang.ErrorGroups.Transactions.TX_ALREADY_FINISHED_ERR;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.CyclicBarrier;
+import java.util.concurrent.ThreadLocalRandom;
+import org.apache.ignite.internal.table.TxAbstractTest;
+import org.apache.ignite.internal.tx.impl.ReadWriteTransactionImpl;
+import org.apache.ignite.internal.util.CollectionUtils;
+import org.apache.ignite.tx.Transaction;
+import org.apache.ignite.tx.TransactionException;
+import org.apache.ignite.tx.TransactionOptions;
+import org.junit.jupiter.api.RepeatedTest;
+import org.junit.jupiter.api.TestInfo;
+
+/**
+ * Test class that is used for the tests that should be run on single node 
cluster only.
+ */
+public abstract class ItTxAbstractDistributedTestSingleNode extends 
TxAbstractTest {
+/**
+ * The constructor.
+ *
+ * @param testInfo Test info.
+ */
+public ItTxAbstractDistributedTestSingleNode(TestInfo testInfo) {
+super(testInfo);
+}
+
+@RepeatedTest(10)
+public void testTransactionMultiThreadedCommit() {
+testTransactionMultiThreadedFinish(1, false);
+}
+
+@RepeatedTest(10)
+public void testTransactionMultiThreadedCommitEmpty() {
+testTransactionMultiThreadedFinish(1, true);
+}
+
+@RepeatedTest(10)
+public void testTransactionMultiThreadedRollback() {
+testTransactionMultiThreadedFinish(0, false);
+}
+
+@RepeatedTest(10)
+public void testTransactionMultiThreadedRollbackEmpty() {
+testTransactionMultiThreadedFinish(0, true);
+}
+
+@RepeatedTest(10)
+public void testTransactionMultiThreadedMixed() {
+testTransactionMultiThreadedFinish(-1, false);
+}
+
+@RepeatedTest(10)
+public void testTransactionMultiThreadedMixedEmpty() {
+testTransactionMultiThreadedFinish(-1, true);
+}
+
+/**
+ * Test trying to finish a tx in multiple threads simultaneously, and 
enlist new operations right after the first finish.
+ *
+ * @param finishMode 1 is com

(ignite-3) branch main updated (6729811f99 -> 53eff5b338)

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

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


from 6729811f99 IGNITE-21479 Fix race with setting priority in 
PriorityQueueExecutorTest (#3176)
 add 53eff5b338 IGNITE-20452 Integrate failure handler processor into 
Ignite components (#3090)

No new revisions were added by this update.

Summary of changes:
 .../java/org/apache/ignite/lang/ErrorGroups.java   |  13 +++
 modules/distribution-zones/build.gradle|   1 +
 ...niteDistributionZoneManagerNodeRestartTest.java |   4 +-
 .../build.gradle   |  25 ++--
 .../failure/handlers/FailureHandlerTest.java   |  72 
 .../ignite/internal/failure/FailureContext.java}   |  57 -
 .../ignite/internal/failure/FailureProcessor.java  | 128 +
 .../ignite/internal/failure/FailureType.java}  |  24 ++--
 .../internal/failure/handlers/FailureHandler.java} |  24 ++--
 .../failure/handlers/NoOpFailureHandler.java}  |  18 +--
 .../failure/handlers/StopNodeFailureHandler.java}  |  33 +++---
 .../handlers/StopNodeOrHaltFailureHandler.java | 117 +++
 .../internal/failure/FailureProcessorTest.java}|  43 +++
 modules/network/build.gradle   |   3 +
 .../network/netty/ItConnectionManagerTest.java |   4 +-
 .../internal/network/netty/ConnectionManager.java  |  20 +++-
 .../internal/network/recovery/FailureHandler.java  |  33 --
 .../recovery/RecoveryClientHandshakeManager.java   |  16 ++-
 .../recovery/RecoveryServerHandshakeManager.java   |  17 ++-
 .../scalecube/ScaleCubeClusterServiceFactory.java  |   8 +-
 .../network/DefaultMessagingServiceTest.java   |  18 ++-
 .../network/netty/RecoveryHandshakeTest.java   |  11 +-
 .../RecoveryClientHandshakeManagerTest.java|   7 +-
 .../RecoveryServerHandshakeManagerTest.java|   7 +-
 .../network/utils/ClusterServiceTestUtils.java |   5 +-
 modules/page-memory/build.gradle   |   3 +
 .../persistence/checkpoint/CheckpointManager.java  |  10 +-
 .../CheckpointReadLockTimeoutException.java|   9 +-
 .../checkpoint/CheckpointTimeoutLock.java  |  27 +++--
 .../persistence/checkpoint/Checkpointer.java   |  20 +++-
 .../persistence/compaction/Compactor.java  |  13 ++-
 .../persistence/store/FilePageStoreManager.java|  17 ++-
 .../PersistentPageMemoryNoLoadTest.java|  10 +-
 .../checkpoint/CheckpointManagerTest.java  |   3 +
 .../checkpoint/CheckpointTimeoutLockTest.java  |  95 ---
 .../persistence/checkpoint/CheckpointerTest.java   |   9 ++
 .../persistence/compaction/CompactorTest.java  |  55 -
 .../store/FilePageStoreManagerTest.java|   8 +-
 .../checkpoint/CheckpointTestUtils.java|   4 +-
 modules/platforms/cpp/ignite/common/error_codes.h  |   9 +-
 modules/platforms/cpp/ignite/odbc/common_types.cpp |   5 +
 .../platforms/dotnet/Apache.Ignite/ErrorCodes.g.cs |  17 +++
 modules/raft/build.gradle  |   1 +
 .../raft/ItTruncateSuffixAndRestartTest.java   |   6 +-
 modules/runner/build.gradle|   2 +
 .../runner/app/ItIgniteNodeRestartTest.java|  15 ++-
 .../org/apache/ignite/internal/app/IgniteImpl.java |  20 +++-
 modules/storage-api/build.gradle   |   2 +
 .../ignite/internal/storage/DataStorageModule.java |   5 +-
 .../internal/storage/DataStorageModules.java   |   7 +-
 .../internal/storage/DataStorageManagerTest.java   |  15 ++-
 .../internal/storage/DataStorageModulesTest.java   |   6 +-
 .../storage/impl/TestDataStorageModule.java|   4 +-
 modules/storage-page-memory/build.gradle   |   1 +
 .../PersistentPageMemoryDataStorageModule.java |  12 +-
 .../PersistentPageMemoryStorageEngine.java |  12 +-
 .../VolatilePageMemoryDataStorageModule.java   |   4 +-
 .../PersistentPageMemoryMvTableStorageTest.java|   4 +-
 .../PersistentPageMemoryStorageEngineTest.java |   6 +-
 .../PersistentPageMemoryHashIndexStorageTest.java  |   4 +-
 ...PersistentPageMemorySortedIndexStorageTest.java |  10 +-
 ...ageMemoryMvPartitionStorageConcurrencyTest.java |   3 +-
 ...rsistentPageMemoryMvPartitionStorageGcTest.java |   3 +-
 ...PersistentPageMemoryMvPartitionStorageTest.java |   3 +-
 modules/storage-rocksdb/build.gradle   |   1 +
 .../storage/rocksdb/RocksDbDataStorageModule.java  |   4 +-
 modules/table/build.gradle |   3 +
 .../rebalance/ItRebalanceDistributedTest.java  |  13 ++-
 .../internal/table/distributed/LowWatermark.java   |  14 ++-
 .../internal/table/distributed/TableManager.java   |   7 +-
 .../table/distributed/LowWatermarkTest.java|   3 +-
 .../table/distributed/TableManagerTest.java|   6 +-
 .../PersistentPageMemoryGcUpdateHandlerTest.java   |   4 +-
 mo

(ignite) branch master updated: IGNITE-21449 Avoid excessive invocation of channel.position() while dump create (#11234)

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

timoninmaxim pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git


The following commit(s) were added to refs/heads/master by this push:
 new 5481a2d8169 IGNITE-21449 Avoid excessive invocation of 
channel.position() while dump create (#11234)
5481a2d8169 is described below

commit 5481a2d8169dfbb4188efe9b18384f69224c5657
Author: yurinaryshkin <135707807+yurinarysh...@users.noreply.github.com>
AuthorDate: Wed Feb 7 14:58:23 2024 +0300

IGNITE-21449 Avoid excessive invocation of channel.position() while dump 
create (#11234)
---
 .../cache/persistence/snapshot/dump/BufferedFileIO.java  | 9 -
 .../cache/persistence/snapshot/dump/IgniteCacheDumpSelfTest.java | 8 
 2 files changed, 12 insertions(+), 5 deletions(-)

diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/dump/BufferedFileIO.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/dump/BufferedFileIO.java
index 40c97df8f3a..84a2d523f29 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/dump/BufferedFileIO.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/dump/BufferedFileIO.java
@@ -36,6 +36,9 @@ public class BufferedFileIO extends FileIODecorator {
 /** */
 private ByteBuffer buf;
 
+/** */
+private long position;
+
 /** */
 public BufferedFileIO(FileIO fileIO) {
 super(fileIO);
@@ -107,9 +110,13 @@ public class BufferedFileIO extends FileIODecorator {
 private void flush() throws IOException {
 buf.flip();
 
-if (delegate.writeFully(buf) < 0)
+int len = delegate.writeFully(buf, position);
+
+if (len < 0)
 throw new IOException("Couldn't write data");
 
+position = position + len;
+
 buf.clear();
 }
 
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/dump/IgniteCacheDumpSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/dump/IgniteCacheDumpSelfTest.java
index a5dc92cbb8e..741e797d904 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/dump/IgniteCacheDumpSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/dump/IgniteCacheDumpSelfTest.java
@@ -514,14 +514,14 @@ public class IgniteCacheDumpSelfTest extends 
AbstractCacheDumpTest {
 if (file.getName().endsWith(DUMP_FILE_EXT)) {
 return new FileIODecorator(delegate.create(file, modes)) {
 /** {@inheritDoc} */
-@Override public int writeFully(ByteBuffer srcBuf) 
throws IOException {
+@Override public int writeFully(ByteBuffer srcBuf, 
long position) throws IOException {
 if (findValToFail(srcBuf)) {
 keyToFailFound.set(true);
 
 throw new IOException("Val to fail found");
 }
 
-return super.writeFully(srcBuf);
+return super.writeFully(srcBuf, position);
 }
 
 private boolean findValToFail(ByteBuffer srcBuf) {
@@ -671,9 +671,9 @@ public class IgniteCacheDumpSelfTest extends 
AbstractCacheDumpTest {
 if (failOnWrite) {
 return new FileIODecorator(delegate.create(file, modes)) {
 /** {@inheritDoc} */
-@Override public int writeFully(ByteBuffer srcBuf) throws 
IOException {
+@Override public int writeFully(ByteBuffer srcBuf, long 
position) throws IOException {
 if (errorAfter.decrementAndGet() > 0)
-return super.writeFully(srcBuf);
+return super.writeFully(srcBuf, position);
 
 throw new IOException("Test write error");
 }



(ignite-3) branch main updated: IGNITE-21479 Fix race with setting priority in PriorityQueueExecutorTest (#3176)

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

apolovtsev 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 6729811f99 IGNITE-21479 Fix race with setting priority in 
PriorityQueueExecutorTest (#3176)
6729811f99 is described below

commit 6729811f99ad18b1490f9b7516a2af84a898e7af
Author: Alexander Polovtcev 
AuthorDate: Wed Feb 7 13:00:11 2024 +0200

IGNITE-21479 Fix race with setting priority in PriorityQueueExecutorTest 
(#3176)
---
 .../internal/compute/queue/QueueExecutionImpl.java | 24 --
 .../compute/queue/PriorityQueueExecutorTest.java   |  5 ++---
 2 files changed, 15 insertions(+), 14 deletions(-)

diff --git 
a/modules/compute/src/main/java/org/apache/ignite/internal/compute/queue/QueueExecutionImpl.java
 
b/modules/compute/src/main/java/org/apache/ignite/internal/compute/queue/QueueExecutionImpl.java
index 087fa95fb3..bb154876c8 100644
--- 
a/modules/compute/src/main/java/org/apache/ignite/internal/compute/queue/QueueExecutionImpl.java
+++ 
b/modules/compute/src/main/java/org/apache/ignite/internal/compute/queue/QueueExecutionImpl.java
@@ -23,7 +23,6 @@ import java.util.UUID;
 import java.util.concurrent.Callable;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.atomic.AtomicInteger;
-import java.util.concurrent.atomic.AtomicReference;
 import org.apache.ignite.compute.ComputeException;
 import org.apache.ignite.compute.JobStatus;
 import org.apache.ignite.internal.compute.state.ComputeStateMachine;
@@ -42,13 +41,14 @@ class QueueExecutionImpl implements QueueExecution {
 
 private final UUID jobId;
 private final Callable job;
-private final AtomicInteger priority;
 private final ComputeThreadPoolExecutor executor;
 private final ComputeStateMachine stateMachine;
 
 private final CompletableFuture result = new CompletableFuture<>();
 
-private final AtomicReference> queueEntry = new 
AtomicReference<>();
+@Nullable
+private volatile QueueEntry queueEntry;
+private volatile int priority;
 
 private final AtomicInteger retries = new AtomicInteger();
 
@@ -69,7 +69,7 @@ class QueueExecutionImpl implements QueueExecution {
 ComputeStateMachine stateMachine) {
 this.jobId = jobId;
 this.job = job;
-this.priority = new AtomicInteger(priority);
+this.priority = priority;
 this.executor = executor;
 this.stateMachine = stateMachine;
 }
@@ -89,7 +89,7 @@ class QueueExecutionImpl implements QueueExecution {
 try {
 stateMachine.cancelingJob(jobId);
 
-QueueEntry queueEntry = this.queueEntry.get();
+QueueEntry queueEntry = this.queueEntry;
 if (queueEntry != null) {
 if (executor.remove(queueEntry)) {
 result.cancel(true);
@@ -106,13 +106,15 @@ class QueueExecutionImpl implements QueueExecution {
 
 @Override
 public boolean changePriority(int newPriority) {
-if (newPriority == priority.get()) {
+if (newPriority == priority) {
 return false;
 }
-QueueEntry queueEntry = this.queueEntry.get();
+
+QueueEntry queueEntry = this.queueEntry;
+
 if (executor.removeFromQueue(queueEntry)) {
-this.priority.set(newPriority);
-this.queueEntry.set(null);
+this.priority = newPriority;
+this.queueEntry = null;
 run();
 return true;
 }
@@ -134,11 +136,11 @@ class QueueExecutionImpl implements QueueExecution {
 QueueEntry queueEntry = new QueueEntry<>(() -> {
 stateMachine.executeJob(jobId);
 return job.call();
-}, priority.get());
+}, priority);
 
 // Ignoring previous value since it can't be running because we are 
calling run
 // either after the construction or after the failure.
-this.queueEntry.set(queueEntry);
+this.queueEntry = queueEntry;
 
 try {
 executor.execute(queueEntry);
diff --git 
a/modules/compute/src/test/java/org/apache/ignite/internal/compute/queue/PriorityQueueExecutorTest.java
 
b/modules/compute/src/test/java/org/apache/ignite/internal/compute/queue/PriorityQueueExecutorTest.java
index 438af26d17..5f796f8520 100644
--- 
a/modules/compute/src/test/java/org/apache/ignite/internal/compute/queue/PriorityQueueExecutorTest.java
+++ 
b/modules/compute/src/test/java/org/apache/ignite/internal/compute/queue/PriorityQueueExecutorTest.java
@@ -451,6 +451,8 @@ public class PriorityQueueExecutorTest extends 
BaseIgniteAbstractTest {
 assertThat(task3.isDone(), is(false));
 assertThat(task4.isDone(), is(false));
 
+//Change priority on task3, it should be executed before task2 and 
task4
+assertThat(runningExecution.changePriority(20), is(true));
 

(ignite) branch master updated: IGNITE-21139 Provide ability to extract a command argument and class from management task event (#11125)

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

namelchev pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git


The following commit(s) were added to refs/heads/master by this push:
 new 7ddf565b90c IGNITE-21139 Provide ability to extract a command argument 
and class from management task event (#11125)
7ddf565b90c is described below

commit 7ddf565b90c4fb3115f7fb8946dfb4e953eebf02
Author: Nikita Amelchev 
AuthorDate: Wed Feb 7 13:17:42 2024 +0300

IGNITE-21139 Provide ability to extract a command argument and class from 
management task event (#11125)
---
 .../commandline/meta/subcommands/VoidDto.java  | 42 ---
 .../internal/events/ManagementTaskEvent.java   | 63 ++
 .../processors/task/GridTaskProcessor.java | 10 ++--
 .../internal/TestManagementVisorOneNodeTask.java   | 11 ++--
 .../internal/VisorManagementEventSelfTest.java | 49 ++---
 5 files changed, 117 insertions(+), 58 deletions(-)

diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/commandline/meta/subcommands/VoidDto.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/commandline/meta/subcommands/VoidDto.java
deleted file mode 100644
index abe0b51ff27..000
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/commandline/meta/subcommands/VoidDto.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * 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.commandline.meta.subcommands;
-
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
-import org.apache.ignite.internal.dto.IgniteDataTransferObject;
-
-/**
- *
- */
-public class VoidDto extends IgniteDataTransferObject {
-/** */
-private static final long serialVersionUID = 0L;
-
-/** {@inheritDoc} */
-@Override protected void writeExternalData(ObjectOutput out) throws 
IOException {
-// No-op.
-}
-
-/** {@inheritDoc} */
-@Override protected void readExternalData(byte protoVer, ObjectInput in)
-throws IOException, ClassNotFoundException {
-// No-op.
-}
-}
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/events/ManagementTaskEvent.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/events/ManagementTaskEvent.java
new file mode 100644
index 000..c18f0263b05
--- /dev/null
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/events/ManagementTaskEvent.java
@@ -0,0 +1,63 @@
+/*
+ * 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.events;
+
+import java.util.UUID;
+import org.apache.ignite.cluster.ClusterNode;
+import org.apache.ignite.events.EventType;
+import org.apache.ignite.events.TaskEvent;
+import org.apache.ignite.internal.visor.VisorTaskArgument;
+import org.apache.ignite.lang.IgniteUuid;
+import org.jetbrains.annotations.Nullable;
+
+/**
+ * Management task started event.
+ *
+ * @see EventType#EVT_MANAGEMENT_TASK_STARTED
+ */
+public class ManagementTaskEvent extends TaskEvent {
+/** */
+private static final long serialVersionUID = 0L;
+
+/** */
+private final VisorTaskArgument arg;
+
+/**
+ * Creates task event with given parameters.
+ *
+ * @param node Node.
+ * @param msg Optional message.
+ * @param type Event type.
+ * @param sesId Task session ID.
+ * @param taskName Task nam

(ignite) branch master updated: IGNITE-21110 Added the management event to all management commands (#11121)

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

namelchev pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git


The following commit(s) were added to refs/heads/master by this push:
 new 16b2edd8392 IGNITE-21110 Added the management event to all management 
commands (#11121)
16b2edd8392 is described below

commit 16b2edd8392a6787f316d748f1ca3a6b0d176b98
Author: Nikita Amelchev 
AuthorDate: Wed Feb 7 13:01:13 2024 +0300

IGNITE-21110 Added the management event to all management commands (#11121)
---
 .../internal/management/ClusterChangeTagTask.java  |   2 -
 .../internal/management/ShutdownPolicyTask.java|   2 -
 .../ignite/internal/management/SystemViewTask.java |   2 -
 .../internal/management/api/CommandUtils.java  |   4 +-
 .../internal/management/api/ComputeCommand.java|   5 +-
 .../internal/management/baseline/BaselineTask.java |   2 -
 .../management/cache/CacheMetricsTask.java |   3 +-
 .../internal/management/cache/CacheScanTask.java   |   2 -
 .../internal/management/cache/CacheStopTask.java   |   2 -
 .../defragmentation/DefragmentationTask.java   |   2 -
 .../management/kill/CancelServiceTask.java |   2 -
 .../management/kill/ClientConnectionDropTask.java  |   2 -
 .../management/kill/ComputeCancelSessionTask.java  |   2 -
 .../management/kill/ContinuousQueryCancelTask.java |   2 -
 .../kill/QueryCancelOnInitiatorTask.java   |   2 -
 .../management/kill/ScanQueryCancelTask.java   |   2 -
 .../internal/management/metric/MetricTask.java |   2 -
 .../PerformanceStatisticsTask.java |   2 -
 .../management/persistence/PersistenceTask.java|   3 +-
 .../tracing/TracingConfigurationTask.java  |   2 -
 .../managers/deployment/GridDeployment.java|  11 +-
 .../processors/task/GridVisorManagementTask.java   |  38 --
 .../compute/VisorComputeCancelSessionsTask.java|   2 -
 .../internal/visor/misc/VisorIdAndTagViewTask.java |   2 -
 .../main/resources/META-INF/classnames.properties  |   1 -
 .../internal/TestManagementVisorMultiNodeTask.java |  66 ---
 .../internal/TestManagementVisorOneNodeTask.java   |   2 -
 .../TestNotManagementVisorMultiNodeTask.java   |  64 --
 .../TestNotManagementVisorOneNodeTask.java |  64 --
 .../internal/VisorManagementEventSelfTest.java | 132 +++--
 30 files changed, 30 insertions(+), 399 deletions(-)

diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/management/ClusterChangeTagTask.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/management/ClusterChangeTagTask.java
index 9eb20fcc9c7..86d92f10bdd 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/management/ClusterChangeTagTask.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/management/ClusterChangeTagTask.java
@@ -21,7 +21,6 @@ import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.IgniteException;
 import org.apache.ignite.internal.cluster.IgniteClusterEx;
 import org.apache.ignite.internal.processors.task.GridInternal;
-import org.apache.ignite.internal.processors.task.GridVisorManagementTask;
 import org.apache.ignite.internal.visor.VisorJob;
 import org.apache.ignite.internal.visor.VisorOneNodeTask;
 
@@ -29,7 +28,6 @@ import org.apache.ignite.internal.visor.VisorOneNodeTask;
  *
  */
 @GridInternal
-@GridVisorManagementTask
 public class ClusterChangeTagTask extends 
VisorOneNodeTask {
 /** */
 private static final long serialVersionUID = 0L;
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/management/ShutdownPolicyTask.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/management/ShutdownPolicyTask.java
index 27d0046faf1..e648389407c 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/management/ShutdownPolicyTask.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/management/ShutdownPolicyTask.java
@@ -20,7 +20,6 @@ package org.apache.ignite.internal.management;
 import org.apache.ignite.IgniteException;
 import org.apache.ignite.IgniteLogger;
 import org.apache.ignite.internal.processors.task.GridInternal;
-import org.apache.ignite.internal.processors.task.GridVisorManagementTask;
 import org.apache.ignite.internal.visor.VisorJob;
 import org.apache.ignite.internal.visor.VisorOneNodeTask;
 import org.apache.ignite.resources.LoggerResource;
@@ -29,7 +28,6 @@ import org.apache.ignite.resources.LoggerResource;
  * Shutdown policy task.
  */
 @GridInternal
-@GridVisorManagementTask
 public class ShutdownPolicyTask extends 
VisorOneNodeTask {
 /** Serial version id. */
 private static final long serialVersionUID = 0L;
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/management/SystemViewTask.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/management/SystemViewTask.java
index ce20ad3412f..31fae2c6963 100644
--- 
a/mo

(ignite-3) branch main updated: IGNITE-21438 Add thread assertions to MV partition and index storages (#3149)

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

ibessonov 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 4550e073d9 IGNITE-21438 Add thread assertions to MV partition and 
index storages (#3149)
4550e073d9 is described below

commit 4550e073d96a30c0adce0785440734f271d1c10e
Author: Roman Puchkovskiy 
AuthorDate: Wed Feb 7 13:36:04 2024 +0400

IGNITE-21438 Add thread assertions to MV partition and index storages 
(#3149)
---
 .../ignite/internal/thread/IgniteThread.java   |  25 +++-
 .../ignite/internal/thread/ThreadAttributes.java   |  40 +
 .../ignite/internal/thread/ThreadOperation.java|  30 
 .../network/netty/NamedNioEventLoopGroup.java  |  14 +-
 .../org/apache/ignite/internal/app/IgniteImpl.java |  33 -
 modules/storage-api/build.gradle   |   1 +
 .../internal/storage/ThreadAssertingCursor.java|  56 +++
 .../storage/ThreadAssertingMvPartitionStorage.java | 164 +
 .../ThreadAssertingPartitionTimestampCursor.java   |  48 ++
 .../engine/ThreadAssertingMvTableStorage.java  | 162 
 .../engine/ThreadAssertingStorageEngine.java   |  62 
 .../index/ThreadAssertingHashIndexStorage.java |  51 +++
 .../storage/index/ThreadAssertingIndexStorage.java |  76 ++
 .../storage/index/ThreadAssertingPeekCursor.java   |  47 ++
 .../index/ThreadAssertingSortedIndexStorage.java   |  52 +++
 .../ignite/internal/worker/ThreadAssertions.java   |  75 ++
 16 files changed, 924 insertions(+), 12 deletions(-)

diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/thread/IgniteThread.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/thread/IgniteThread.java
index 53f2fbf5f3..1801aef277 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/thread/IgniteThread.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/thread/IgniteThread.java
@@ -17,6 +17,11 @@
 
 package org.apache.ignite.internal.thread;
 
+import static java.util.Collections.unmodifiableSet;
+
+import java.util.Collections;
+import java.util.EnumSet;
+import java.util.Set;
 import java.util.concurrent.atomic.AtomicLong;
 import org.apache.ignite.internal.tostring.S;
 import org.apache.ignite.internal.util.worker.IgniteWorker;
@@ -24,18 +29,20 @@ import org.apache.ignite.internal.util.worker.IgniteWorker;
 /**
  * This class adds some necessary plumbing on top of the {@link Thread} class. 
Specifically, it adds:
  * 
- *  Consistent naming of threads;
- *  Name of the ignite node this thread belongs to.
+ *  Consistent naming of threads;
+ *  Name of the ignite node this thread belongs to.
  * 
  * Note: this class is intended for internal use only.
  */
-public class IgniteThread extends Thread {
+public class IgniteThread extends Thread implements ThreadAttributes {
 /** Number of all ignite threads in the system. */
 private static final AtomicLong THREAD_COUNTER = new AtomicLong();
 
 /** The name of the Ignite instance this thread belongs to. */
 protected final String igniteInstanceName;
 
+private final Set allowedOperations;
+
 /**
  * Creates thread with given worker.
  *
@@ -61,11 +68,16 @@ public class IgniteThread extends Thread {
  * @param nodeName   Name of the Ignite instance this thread is created 
for.
  * @param threadName Name of thread.
  * @param r  Runnable to execute.
+ * @param allowedOperations Operations which this thread allows to execute.
  */
-public IgniteThread(String nodeName, String threadName, Runnable r) {
+public IgniteThread(String nodeName, String threadName, Runnable r, 
ThreadOperation... allowedOperations) {
 super(r, createName(THREAD_COUNTER.incrementAndGet(), threadName, 
nodeName));
 
 this.igniteInstanceName = nodeName;
+
+Set operations = 
EnumSet.noneOf(ThreadOperation.class);
+Collections.addAll(operations, allowedOperations);
+this.allowedOperations = unmodifiableSet(operations);
 }
 
 /**
@@ -113,4 +125,9 @@ public class IgniteThread extends Thread {
 public String toString() {
 return S.toString(IgniteThread.class, this, "name", getName());
 }
+
+@Override
+public Set allowedOperations() {
+return allowedOperations;
+}
 }
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/thread/ThreadAttributes.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/thread/ThreadAttributes.java
new file mode 100644
index 00..230095c38b
--- /dev/null
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/thread/ThreadAttributes.java
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with

(ignite-3) branch main updated (71727ef7be -> 8be6c8ebcc)

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

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


from 71727ef7be IGNITE-21477 Fix jvmArgs propagation in tests (#3174)
 add 8be6c8ebcc IGNITE-21248 Add abandoned locks handling to 
HeapUnboundedLockManager (#3161)

No new revisions were added by this update.

Summary of changes:
 .../ignite/internal/sql/engine/ItDmlTest.java  |   1 -
 .../internal/table/ItTransactionRecoveryTest.java  | 143 +++--
 .../ignite/internal/tx/impl/HeapLockManager.java   |  11 +-
 .../internal/tx/impl/HeapUnboundedLockManager.java |  35 -
 4 files changed, 168 insertions(+), 22 deletions(-)



(ignite-3) branch main updated (f2c02191d0 -> 71727ef7be)

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

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


from f2c02191d0 IGNITE-21289 .NET: Implement job execution interface (#3159)
 add 71727ef7be IGNITE-21477 Fix jvmArgs propagation in tests (#3174)

No new revisions were added by this update.

Summary of changes:
 build.gradle | 50 --
 1 file changed, 24 insertions(+), 26 deletions(-)



(ignite-3) branch main updated: IGNITE-21289 .NET: Implement job execution interface (#3159)

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

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


The following commit(s) were added to refs/heads/main by this push:
 new f2c02191d0 IGNITE-21289 .NET: Implement job execution interface (#3159)
f2c02191d0 is described below

commit f2c02191d03505d592e8e76aa1b6494568668119
Author: Pavel Tupitsyn 
AuthorDate: Wed Feb 7 11:30:52 2024 +0200

IGNITE-21289 .NET: Implement job execution interface (#3159)

Add job execution API:
* Return `IJobExecution` from `ICompute` methods instead of a raw result
* Implement `GetStatusAsync`, `CancelAsync`, `ChangePriorityAsync`
---
 .../java/org/apache/ignite/compute/JobState.java   |   2 +-
 .../java/org/apache/ignite/compute/JobStatus.java  |  73 +
 .../Compute/ComputeClusterAwarenessTests.cs|  21 +--
 .../Apache.Ignite.Tests/Compute/ComputeTests.cs| 173 -
 .../dotnet/Apache.Ignite.Tests/FakeServer.cs   |  22 ++-
 .../PartitionAwarenessRealClusterTests.cs  |   4 +-
 .../Proto/ColocationHashTests.cs   |   8 +-
 .../Table/SchemaSynchronizationTest.cs |   5 +-
 .../dotnet/Apache.Ignite/ClientOperationType.cs|  17 +-
 .../dotnet/Apache.Ignite/Compute/ICompute.cs   |   8 +-
 .../dotnet/Apache.Ignite/Compute/IJobExecution.cs  |  67 
 .../dotnet/Apache.Ignite/Compute/JobState.cs}  |  59 +++
 .../dotnet/Apache.Ignite/Compute/JobStatus.cs} |  51 ++
 .../Apache.Ignite/Internal/Compute/Compute.cs  | 129 +++
 .../Apache.Ignite/Internal/Compute/JobExecution.cs |  95 +++
 .../Apache.Ignite/Internal/Proto/ClientOp.cs   |  11 +-
 .../Internal/Proto/ClientOpExtensions.cs   |   3 +
 .../Internal/Proto/MsgPack/MsgPackReader.cs|  15 ++
 .../dotnet/Apache.Ignite/RetryReadPolicy.cs|   3 +
 19 files changed, 618 insertions(+), 148 deletions(-)

diff --git a/modules/api/src/main/java/org/apache/ignite/compute/JobState.java 
b/modules/api/src/main/java/org/apache/ignite/compute/JobState.java
index 4c7d18a4cc..a60c025217 100644
--- a/modules/api/src/main/java/org/apache/ignite/compute/JobState.java
+++ b/modules/api/src/main/java/org/apache/ignite/compute/JobState.java
@@ -42,7 +42,7 @@ public enum JobState {
 COMPLETED,
 
 /**
- * The job has received the cancel command, but it is still running.
+ * The job has received the cancel command, but is still running.
  */
 CANCELING,
 
diff --git a/modules/api/src/main/java/org/apache/ignite/compute/JobStatus.java 
b/modules/api/src/main/java/org/apache/ignite/compute/JobStatus.java
index 3ee4ac2910..e04f27c74e 100644
--- a/modules/api/src/main/java/org/apache/ignite/compute/JobStatus.java
+++ b/modules/api/src/main/java/org/apache/ignite/compute/JobStatus.java
@@ -64,32 +64,67 @@ public class JobStatus implements Serializable {
 this.finishTime = builder.finishTime;
 }
 
+/**
+ * Creates a new builder.
+ *
+ * @return Builder.
+ */
 public static Builder builder() {
 return new Builder();
 }
 
+/**
+ * Returns job ID.
+ *
+ * @return Job ID.
+ */
 public UUID id() {
 return id;
 }
 
+/**
+ * Returns job state.
+ *
+ * @return Job state.
+ */
 public JobState state() {
 return state;
 }
 
+/**
+ * Returns job create time.
+ *
+ * @return Job create time.
+ */
 public Instant createTime() {
 return createTime;
 }
 
+/**
+ * Returns job start time. {@code null} if the job has not started yet.
+ *
+ * @return Job start time. {@code null} if the job has not started yet.
+ */
 @Nullable
 public Instant startTime() {
 return startTime;
 }
 
+/**
+ * Returns job finish time. {@code null} if the job has not finished yet.
+ *
+ * @return Job finish time. {@code null} if the job has not finished yet.
+ */
 @Nullable
 public Instant finishTime() {
 return finishTime;
 }
 
+/**
+ * Returns a new builder with the same property values as this JobStatus.
+ *
+ * @return Builder.
+ */
 public Builder toBuilder() {
 return new Builder(this);
 }
@@ -106,6 +141,9 @@ public class JobStatus implements Serializable {
 @Nullable
 private Instant finishTime;
 
+/**
+ * Constructor.
+ */
 public Builder() {
 }
 
@@ -117,31 +155,66 @@ public class JobStatus implements Serializable {
 this.finishTime = status.finishTime;
 }
 
+/**
+ * Sets job ID.
+ *
+ * @param id Job ID.
+ * @return This builder.
+ */
 public Builder id(UUID id) {
 this.id = id;
 return this;
 }
 
+/**
+ * Sets job state.
+ *
+  

(ignite-3) branch main updated: IGNITE-21247 Log enhancements for LeaseUpdater (#3109)

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

vpyatkov 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 c97d7c5db3 IGNITE-21247 Log enhancements for LeaseUpdater (#3109)
c97d7c5db3 is described below

commit c97d7c5db327583b82eeca1165cb4eea21a3b3a2
Author: Denis Chudov 
AuthorDate: Wed Feb 7 12:13:06 2024 +0300

IGNITE-21247 Log enhancements for LeaseUpdater (#3109)
---
 .../internal/tostring/IgniteToStringBuilder.java   | 52 +++-
 .../internal/placementdriver/LeaseUpdater.java | 99 +-
 .../internal/table/distributed/TableManager.java   | 19 -
 3 files changed, 163 insertions(+), 7 deletions(-)

diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/tostring/IgniteToStringBuilder.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/tostring/IgniteToStringBuilder.java
index 86a0e052db..6d8c88d6b7 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/tostring/IgniteToStringBuilder.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/tostring/IgniteToStringBuilder.java
@@ -54,6 +54,7 @@ import java.util.function.Supplier;
 import org.apache.ignite.internal.lang.IgniteInternalException;
 import org.apache.ignite.internal.lang.IgniteStringBuilder;
 import org.apache.ignite.internal.lang.IgniteSystemProperties;
+import org.apache.ignite.internal.lang.IgniteTriConsumer;
 import org.jetbrains.annotations.Nullable;
 
 /**
@@ -1450,6 +1451,53 @@ public class IgniteToStringBuilder {
 }
 }
 
+/**
+ * Produces a string representation of a list with customized string 
representation of elements.
+ *
+ * @param list List.
+ * @param elementToString Element to string transformer, accepts the 
string builder, element of list and its index.
+ * @param  Type of list elements.
+ * @return String.
+ */
+public static  String toString(List list, 
IgniteTriConsumer elementToString) {
+int listSize = list.size();
+
+IgniteStringBuilder buf = new IgniteStringBuilder();
+
+buf.app(" [");
+
+int cnt = 0;
+boolean needHandleOverflow = true;
+
+try {
+for (int i = 0; i < list.size(); i++) {
+if (i > 0) {
+buf.app(',');
+}
+
+T el = list.get(i);
+
+elementToString.accept(buf, el, i);
+
+if (++cnt == COLLECTION_LIMIT || cnt == listSize) {
+break;
+}
+}
+} catch (ConcurrentModificationException e) {
+handleConcurrentModification(buf, cnt, listSize);
+
+needHandleOverflow = false;
+}
+
+if (needHandleOverflow) {
+handleOverflow(buf, listSize);
+}
+
+buf.app(']');
+
+return buf.toString();
+}
+
 /**
  * Writes array to buffer.
  *
@@ -1583,7 +1631,7 @@ public class IgniteToStringBuilder {
  * @param buf  String builder buffer.
  * @param size Size to compare with limit.
  */
-private static void handleOverflow(StringBuilderLimitedLength buf, int 
size) {
+private static void handleOverflow(IgniteStringBuilder buf, int size) {
 int overflow = size - COLLECTION_LIMIT;
 
 if (overflow > 0) {
@@ -1598,7 +1646,7 @@ public class IgniteToStringBuilder {
  * @param writtenElements Number of elements successfully written to 
output.
  * @param sizeOverall size of collection.
  */
-private static void 
handleConcurrentModification(StringBuilderLimitedLength buf, int 
writtenElements, int size) {
+private static void handleConcurrentModification(IgniteStringBuilder buf, 
int writtenElements, int size) {
 buf.app("... concurrent modification was detected, 
").app(writtenElements).app(" out of ").app(size)
 .app(" were written");
 }
diff --git 
a/modules/placement-driver/src/main/java/org/apache/ignite/internal/placementdriver/LeaseUpdater.java
 
b/modules/placement-driver/src/main/java/org/apache/ignite/internal/placementdriver/LeaseUpdater.java
index bf471c266c..6d0762659b 100644
--- 
a/modules/placement-driver/src/main/java/org/apache/ignite/internal/placementdriver/LeaseUpdater.java
+++ 
b/modules/placement-driver/src/main/java/org/apache/ignite/internal/placementdriver/LeaseUpdater.java
@@ -56,6 +56,8 @@ import 
org.apache.ignite.internal.placementdriver.negotiation.LeaseAgreement;
 import org.apache.ignite.internal.placementdriver.negotiation.LeaseNegotiator;
 import org.apache.ignite.internal.replicator.ReplicationGroupId;
 import org.apache.ignite.internal.thread.IgniteThread;
+import org.apache.ignite.internal.tostring.IgniteToStringInclude;
+import org.apache.ignite.internal.tostring.S;
 import org.apache.ignite.internal.util.IgniteSpinBusyLock;
 import org.apache.ig

(ignite-3) branch main updated: IGNITE-21310 Sql. Introduce partition provider for further pruning usage (#3102)

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

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


The following commit(s) were added to refs/heads/main by this push:
 new d9675ad06f IGNITE-21310 Sql. Introduce partition provider for further 
pruning usage (#3102)
d9675ad06f is described below

commit d9675ad06f579956003a647d04c605a15b8c14b7
Author: Evgeniy Stanilovskiy 
AuthorDate: Wed Feb 7 11:38:36 2024 +0300

IGNITE-21310 Sql. Introduce partition provider for further pruning usage 
(#3102)
---
 .../sql/engine/exec/DestinationFactory.java|  18 ++--
 .../internal/sql/engine/exec/ExecutableTable.java  |   7 ++
 .../engine/exec/ExecutableTableRegistryImpl.java   |  16 ++-
 .../sql/engine/exec/ExecutionServiceImpl.java  |   4 -
 .../sql/engine/exec/LogicalRelImplementor.java |   5 +-
 .../engine/exec/RehashingPartitionExtractor.java   |  51 +
 .../sql/engine/exec/ResolvedDependencies.java  |  11 ++
 ...utableTable.java => RowPartitionExtractor.java} |  25 ++---
 .../sql/engine/exec/TablePartitionExtractor.java   |  61 +++
 .../internal/sql/engine/schema/IgniteTable.java|   5 +
 .../sql/engine/schema/IgniteTableImpl.java |  29 +
 .../sql/engine/schema/PartitionCalculator.java |  66 
 .../internal/sql/engine/trait/Partitioned.java |  12 +--
 .../sql/engine/util/HashFunctionFactory.java   |  58 --
 .../sql/engine/util/HashFunctionFactoryImpl.java   | 119 -
 .../exec/ExecutionDependencyResolverSelfTest.java  |   7 ++
 .../sql/engine/exec/ExecutionServiceImplTest.java  |   6 +-
 .../exec/IdentityDistributionFunctionSelfTest.java |   2 +-
 .../engine/exec/NoOpExecutableTableRegistry.java   |   7 ++
 .../sql/engine/exec/PartitionsResolutionTest.java  | 115 
 .../sql/engine/framework/TestBuilders.java |   7 ++
 .../sql/engine/prepare/TypeCoercionTest.java   |   7 ++
 .../sql/engine/util/HashFunctionsTest.java | 111 ---
 23 files changed, 413 insertions(+), 336 deletions(-)

diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/DestinationFactory.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/DestinationFactory.java
index c41e71d616..2ecfba6b8f 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/DestinationFactory.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/DestinationFactory.java
@@ -23,8 +23,10 @@ import static 
org.apache.ignite.internal.util.CollectionUtils.nullOrEmpty;
 import java.util.Collections;
 import java.util.List;
 import java.util.Objects;
+import java.util.function.Supplier;
 import org.apache.calcite.util.ImmutableIntList;
 import org.apache.ignite.internal.sql.engine.exec.mapping.ColocationGroup;
+import org.apache.ignite.internal.sql.engine.schema.PartitionCalculator;
 import org.apache.ignite.internal.sql.engine.schema.TableDescriptor;
 import org.apache.ignite.internal.sql.engine.trait.AllNodes;
 import org.apache.ignite.internal.sql.engine.trait.Destination;
@@ -35,7 +37,6 @@ import 
org.apache.ignite.internal.sql.engine.trait.IgniteDistribution;
 import org.apache.ignite.internal.sql.engine.trait.Partitioned;
 import org.apache.ignite.internal.sql.engine.trait.RandomNode;
 import org.apache.ignite.internal.sql.engine.util.Commons;
-import org.apache.ignite.internal.sql.engine.util.HashFunctionFactory;
 
 /**
  * Factory that resolves {@link IgniteDistribution} trait, which represents 
logical {@link DistributionFunction} function, into its
@@ -43,19 +44,16 @@ import 
org.apache.ignite.internal.sql.engine.util.HashFunctionFactory;
  */
 class DestinationFactory {
 private final RowHandler rowHandler;
-private final HashFunctionFactory hashFunctionFactory;
 private final ResolvedDependencies dependencies;
 
 /**
  * Constructor.
  *
  * @param rowHandler Row handler.
- * @param hashFunctionFactory Hash-function factory required to resolve 
hash-based distributions.
  * @param dependencies Dependencies required to resolve row value 
dependent distributions.
  */
-DestinationFactory(RowHandler rowHandler, HashFunctionFactory 
hashFunctionFactory, ResolvedDependencies dependencies) {
+DestinationFactory(RowHandler rowHandler, ResolvedDependencies 
dependencies) {
 this.rowHandler = rowHandler;
-this.hashFunctionFactory = hashFunctionFactory;
 this.dependencies = dependencies;
 }
 
@@ -97,13 +95,17 @@ class DestinationFactory {
 
 if (function.affinity()) {
 int tableId = ((AffinityDistribution) function).tableId();
-
+Supplier calculator = 
dependencies.partitionCalculator(tableId);
 TableDescriptor tableDescriptor = 
dependencies.tableDescriptor(tableId);
 
- 

(ignite-3) branch main updated: IGNITE-21471 Change approach in sendMessagesTwoChannels in DefaultMessagingServiceTest (#3165)

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

ibessonov 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 1d1313634c IGNITE-21471 Change approach in sendMessagesTwoChannels in 
DefaultMessagingServiceTest (#3165)
1d1313634c is described below

commit 1d1313634c91551770629b5c1158bd74af4465da
Author: Roman Puchkovskiy 
AuthorDate: Wed Feb 7 12:01:52 2024 +0400

IGNITE-21471 Change approach in sendMessagesTwoChannels in 
DefaultMessagingServiceTest (#3165)
---
 .../network/DefaultMessagingServiceTest.java   | 118 ++---
 1 file changed, 8 insertions(+), 110 deletions(-)

diff --git 
a/modules/network/src/test/java/org/apache/ignite/internal/network/DefaultMessagingServiceTest.java
 
b/modules/network/src/test/java/org/apache/ignite/internal/network/DefaultMessagingServiceTest.java
index 2c8f624944..bcd638a0ee 100644
--- 
a/modules/network/src/test/java/org/apache/ignite/internal/network/DefaultMessagingServiceTest.java
+++ 
b/modules/network/src/test/java/org/apache/ignite/internal/network/DefaultMessagingServiceTest.java
@@ -22,8 +22,8 @@ import static 
org.apache.ignite.internal.testframework.IgniteTestUtils.waitForCo
 import static 
org.apache.ignite.internal.testframework.matchers.CompletableFutureExceptionMatcher.willThrow;
 import static 
org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.willBe;
 import static 
org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.willCompleteSuccessfully;
-import static org.awaitility.Awaitility.await;
 import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.anEmptyMap;
 import static org.hamcrest.Matchers.contains;
 import static org.hamcrest.Matchers.is;
 import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -42,7 +42,6 @@ import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.CyclicBarrier;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
-import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -54,7 +53,6 @@ import 
org.apache.ignite.internal.network.messages.InstantContainer;
 import org.apache.ignite.internal.network.messages.MessageWithInstant;
 import org.apache.ignite.internal.network.messages.TestMessage;
 import org.apache.ignite.internal.network.messages.TestMessageImpl;
-import 
org.apache.ignite.internal.network.messages.TestMessageSerializationFactory;
 import org.apache.ignite.internal.network.messages.TestMessageTypes;
 import org.apache.ignite.internal.network.messages.TestMessagesFactory;
 import org.apache.ignite.internal.network.netty.ConnectionManager;
@@ -65,10 +63,7 @@ import 
org.apache.ignite.internal.network.recovery.RecoveryDescriptorProvider;
 import org.apache.ignite.internal.network.recovery.StaleIdDetector;
 import org.apache.ignite.internal.network.serialization.ClassDescriptorFactory;
 import 
org.apache.ignite.internal.network.serialization.ClassDescriptorRegistry;
-import org.apache.ignite.internal.network.serialization.MessageDeserializer;
-import 
org.apache.ignite.internal.network.serialization.MessageSerializationFactory;
 import 
org.apache.ignite.internal.network.serialization.MessageSerializationRegistry;
-import org.apache.ignite.internal.network.serialization.MessageSerializer;
 import org.apache.ignite.internal.network.serialization.SerializationService;
 import 
org.apache.ignite.internal.network.serialization.UserObjectSerializationContext;
 import 
org.apache.ignite.internal.network.serialization.marshal.DefaultUserObjectMarshaller;
@@ -168,75 +163,17 @@ class DefaultMessagingServiceTest extends 
BaseIgniteAbstractTest {
 }
 }
 
-@Test
-public void sendMessagesOneChannel() throws Exception {
-AtomicBoolean release = new AtomicBoolean(false);
-MessageSerializer serializer = new 
TestMessageSerializationFactory(
-new TestMessagesFactory()).createSerializer();
-Serializer longWaitSerializer = new 
Serializer(TestMessageImpl.GROUP_TYPE, TestMessageImpl.TYPE,
-(message, writer) -> release.get()
-&& serializer.writeMessage((TestMessage) message, 
writer));
-
-try (Services senderServices = createMessagingService(
-senderNode,
-senderNetworkConfig,
-() -> {},
-mockSerializationRegistry(longWaitSerializer));
-Services receiverServices = 
createMessagingService(receiverNode, receiverNetworkConfig)
-) {
-try {
-CountDownLatch latch = new CountDownLatch(2);
-receiverServices.messagingService.addMessageHandler(
-TestMessageTypes.class,
-