This is an automated email from the ASF dual-hosted git repository.
sk0x50 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 3b43d82d51e IGNITE-27421 Remove
IgniteSystemProperties#colocationEnabled usages from tests (#7334)
3b43d82d51e is described below
commit 3b43d82d51e8dd9d69d2cc88e99f03b25d90eaa6
Author: Slava Koptilin <[email protected]>
AuthorDate: Wed Dec 31 15:45:28 2025 +0200
IGNITE-27421 Remove IgniteSystemProperties#colocationEnabled usages from
tests (#7334)
---
.../apache/ignite/client/handler/TestServer.java | 2 -
.../ignite/client/handler/ClientHandlerModule.java | 11 ++--
.../handler/ClientPrimaryReplicaTracker.java | 21 +++-----
.../handler/ClientPrimaryReplicaTrackerTest.java | 4 +-
.../ignite/client/handler/FakePlacementDriver.java | 21 ++++----
.../ignite/client/TestClientHandlerModule.java | 4 +-
.../java/org/apache/ignite/client/TestServer.java | 2 -
.../components/SystemPropertiesNodeProperties.java | 35 ------------
.../rebalance/ItRebalanceDistributedTest.java | 6 ---
.../internal/rebalance/ItRebalanceMetricsTest.java | 2 -
.../distributionzones/DistributionZoneManager.java | 5 --
.../partition/replicator/fixtures/Node.java | 6 +--
.../PartitionReplicaLifecycleManager.java | 15 ------
.../PartitionReplicaLifecycleManagerTest.java | 2 -
.../placementdriver/BasePlacementDriverTest.java | 25 ++++-----
.../MultiActorPlacementDriverTest.java | 5 +-
.../PlacementDriverManagerTest.java | 13 ++---
.../placementdriver/AssignmentsTracker.java | 63 +++++++---------------
.../placementdriver/PlacementDriverManager.java | 14 ++---
.../ignite/internal/placementdriver/Utils.java | 25 +++------
.../placementdriver/leases/LeaseTracker.java | 30 +++--------
.../internal/placementdriver/ActiveActorTest.java | 5 +-
.../placementdriver/AssignmentsTrackerTest.java | 5 +-
.../placementdriver/LeaseNegotiationTest.java | 38 +++++--------
.../internal/placementdriver/LeaseTrackerTest.java | 52 ++++++++++++++----
.../internal/placementdriver/LeaseUpdaterTest.java | 33 ++++--------
.../placementdriver/PlacementDriverTest.java | 9 +---
...InterruptedRaftSnapshotStorageRecoveryTest.java | 2 +-
.../raftsnapshot/ItParallelRaftSnapshotsTest.java | 2 +-
.../raftsnapshot/ItTableRaftSnapshotsTest.java | 15 +++---
.../ItTruncateRaftLogAndRestartNodesTest.java | 7 +--
.../runner/app/ItIgniteNodeRestartTest.java | 6 +--
.../schemasync/ItSchemaSyncAndReplicationTest.java | 4 +-
.../org/apache/ignite/internal/app/IgniteImpl.java | 12 +----
.../java/org/apache/ignite/internal/Cluster.java | 12 ++---
.../ItTxObservableTimePropagationTest.java | 4 +-
.../internal/table/distributed/TableManager.java | 42 ++++-----------
.../distributed/TableManagerRecoveryTest.java | 3 --
.../table/distributed/TableManagerTest.java | 6 ---
.../ignite/internal/table/TxAbstractTest.java | 3 +-
.../internal/table/TxInfrastructureTest.java | 17 ++----
41 files changed, 186 insertions(+), 402 deletions(-)
diff --git
a/modules/client-handler/src/integrationTest/java/org/apache/ignite/client/handler/TestServer.java
b/modules/client-handler/src/integrationTest/java/org/apache/ignite/client/handler/TestServer.java
index 40982108dba..708e1cf7435 100644
---
a/modules/client-handler/src/integrationTest/java/org/apache/ignite/client/handler/TestServer.java
+++
b/modules/client-handler/src/integrationTest/java/org/apache/ignite/client/handler/TestServer.java
@@ -28,7 +28,6 @@ import
org.apache.ignite.client.handler.configuration.ClientConnectorConfigurati
import org.apache.ignite.internal.catalog.CatalogService;
import org.apache.ignite.internal.cluster.management.ClusterTag;
import
org.apache.ignite.internal.cluster.management.network.messages.CmgMessagesFactory;
-import org.apache.ignite.internal.components.SystemPropertiesNodeProperties;
import org.apache.ignite.internal.compute.IgniteComputeInternal;
import org.apache.ignite.internal.eventlog.api.EventLog;
import org.apache.ignite.internal.hlc.HybridClockImpl;
@@ -141,7 +140,6 @@ public class TestServer {
mock(PlacementDriver.class),
clientConnectorConfiguration,
new TestLowWatermark(),
- new SystemPropertiesNodeProperties(),
Runnable::run,
() -> true
);
diff --git
a/modules/client-handler/src/main/java/org/apache/ignite/client/handler/ClientHandlerModule.java
b/modules/client-handler/src/main/java/org/apache/ignite/client/handler/ClientHandlerModule.java
index 6ed8229cf1c..4de86ddb0e6 100644
---
a/modules/client-handler/src/main/java/org/apache/ignite/client/handler/ClientHandlerModule.java
+++
b/modules/client-handler/src/main/java/org/apache/ignite/client/handler/ClientHandlerModule.java
@@ -51,7 +51,6 @@ import
org.apache.ignite.client.handler.configuration.ClientConnectorView;
import org.apache.ignite.internal.catalog.CatalogService;
import org.apache.ignite.internal.client.proto.ClientMessageDecoder;
import org.apache.ignite.internal.client.proto.ProtocolBitmaskFeature;
-import org.apache.ignite.internal.components.NodeProperties;
import org.apache.ignite.internal.compute.IgniteComputeInternal;
import
org.apache.ignite.internal.compute.executor.platform.PlatformComputeConnection;
import
org.apache.ignite.internal.compute.executor.platform.PlatformComputeTransport;
@@ -197,7 +196,6 @@ public class ClientHandlerModule implements
IgniteComponent, PlatformComputeTran
PlacementDriver placementDriver,
ClientConnectorConfiguration clientConnectorConfiguration,
LowWatermark lowWatermark,
- NodeProperties nodeProperties,
Executor partitionOperationsExecutor,
Supplier<Boolean> ddlBatchingSuggestionEnabled
) {
@@ -218,7 +216,6 @@ public class ClientHandlerModule implements
IgniteComponent, PlatformComputeTran
assert clientConnectorConfiguration != null;
assert ddlBatchingSuggestionEnabled != null;
assert lowWatermark != null;
- assert nodeProperties != null;
assert partitionOperationsExecutor != null;
this.queryProcessor = queryProcessor;
@@ -234,8 +231,12 @@ public class ClientHandlerModule implements
IgniteComponent, PlatformComputeTran
this.clockService = clockService;
this.schemaSyncService = schemaSyncService;
this.catalogService = catalogService;
- this.primaryReplicaTracker = new
ClientPrimaryReplicaTracker(placementDriver, catalogService, clockService,
schemaSyncService,
- lowWatermark, nodeProperties);
+ this.primaryReplicaTracker = new ClientPrimaryReplicaTracker(
+ placementDriver,
+ catalogService,
+ clockService,
+ schemaSyncService,
+ lowWatermark);
this.clientConnectorConfiguration = clientConnectorConfiguration;
this.ddlBatchingSuggestionEnabled = ddlBatchingSuggestionEnabled;
this.partitionOperationsExecutor = partitionOperationsExecutor;
diff --git
a/modules/client-handler/src/main/java/org/apache/ignite/client/handler/ClientPrimaryReplicaTracker.java
b/modules/client-handler/src/main/java/org/apache/ignite/client/handler/ClientPrimaryReplicaTracker.java
index e0cc976a9d8..0d2ee7b1c75 100644
---
a/modules/client-handler/src/main/java/org/apache/ignite/client/handler/ClientPrimaryReplicaTracker.java
+++
b/modules/client-handler/src/main/java/org/apache/ignite/client/handler/ClientPrimaryReplicaTracker.java
@@ -37,7 +37,6 @@ import
org.apache.ignite.internal.catalog.descriptors.CatalogTableDescriptor;
import org.apache.ignite.internal.catalog.descriptors.CatalogZoneDescriptor;
import org.apache.ignite.internal.catalog.events.CatalogEvent;
import org.apache.ignite.internal.catalog.events.DropTableEventParameters;
-import org.apache.ignite.internal.components.NodeProperties;
import org.apache.ignite.internal.event.EventListener;
import org.apache.ignite.internal.hlc.ClockService;
import org.apache.ignite.internal.hlc.HybridTimestamp;
@@ -93,8 +92,6 @@ public class ClientPrimaryReplicaTracker {
private final LowWatermark lowWatermark;
- private final NodeProperties nodeProperties;
-
private final EventListener<ChangeLowWatermarkEventParameters> lwmListener
= fromConsumer(this::onLwmChanged);
private final EventListener<DropTableEventParameters>
dropTableEventListener = fromConsumer(this::onTableDrop);
private final EventListener<PrimaryReplicaEventParameters>
primaryReplicaEventListener = fromConsumer(this::onPrimaryReplicaChanged);
@@ -121,15 +118,13 @@ public class ClientPrimaryReplicaTracker {
CatalogService catalogService,
ClockService clockService,
SchemaSyncService schemaSyncService,
- LowWatermark lowWatermark,
- NodeProperties nodeProperties
+ LowWatermark lowWatermark
) {
this.placementDriver = placementDriver;
this.catalogService = catalogService;
this.clockService = clockService;
this.schemaSyncService = schemaSyncService;
this.lowWatermark = lowWatermark;
- this.nodeProperties = nodeProperties;
}
/**
@@ -179,7 +174,7 @@ public class ClientPrimaryReplicaTracker {
CompletableFuture<?>[] futures = new
CompletableFuture<?>[partitions];
for (int partition = 0; partition < partitions; partition++) {
- ReplicationGroupId replicationGroupId =
replicationGroupId(tableId, partition, timestamp);
+ ZonePartitionId replicationGroupId =
replicationGroupId(tableId, partition, timestamp);
futures[partition] =
placementDriver.getPrimaryReplica(replicationGroupId,
timestamp).thenAccept(replicaMeta -> {
if (replicaMeta != null && replicaMeta.getLeaseholder() !=
null) {
@@ -236,7 +231,7 @@ public class ClientPrimaryReplicaTracker {
boolean hasKnown = false;
for (int partition = 0; partition < partitions; partition++) {
- ReplicationGroupId replicationGroupId =
replicationGroupId(tableId, partition, timestamp);
+ ZonePartitionId replicationGroupId = replicationGroupId(tableId,
partition, timestamp);
ReplicaHolder holder = primaryReplicas.get(replicationGroupId);
if (holder == null || holder.nodeName == null ||
holder.leaseStartTime == null) {
@@ -255,13 +250,9 @@ public class ClientPrimaryReplicaTracker {
return hasKnown ? new PrimaryReplicasResult(res, currentMaxStartTime)
: null;
}
- private ReplicationGroupId replicationGroupId(int tableId, int partition,
HybridTimestamp timestamp) {
- if (nodeProperties.colocationEnabled()) {
- CatalogTableDescriptor table = requiredTable(tableId, timestamp);
- return new ZonePartitionId(table.zoneId(), partition);
- } else {
- return new TablePartitionId(tableId, partition);
- }
+ private ZonePartitionId replicationGroupId(int tableId, int partition,
HybridTimestamp timestamp) {
+ CatalogTableDescriptor table = requiredTable(tableId, timestamp);
+ return new ZonePartitionId(table.zoneId(), partition);
}
private CompletableFuture<Integer> partitionsAsync(int tableId,
HybridTimestamp timestamp) {
diff --git
a/modules/client-handler/src/test/java/org/apache/ignite/client/handler/ClientPrimaryReplicaTrackerTest.java
b/modules/client-handler/src/test/java/org/apache/ignite/client/handler/ClientPrimaryReplicaTrackerTest.java
index a66a2249be8..a9cc1ae994c 100644
---
a/modules/client-handler/src/test/java/org/apache/ignite/client/handler/ClientPrimaryReplicaTrackerTest.java
+++
b/modules/client-handler/src/test/java/org/apache/ignite/client/handler/ClientPrimaryReplicaTrackerTest.java
@@ -28,7 +28,6 @@ import java.util.concurrent.CompletableFuture;
import java.util.concurrent.atomic.AtomicLong;
import
org.apache.ignite.client.handler.ClientPrimaryReplicaTracker.PrimaryReplicasResult;
import org.apache.ignite.internal.TestHybridClock;
-import org.apache.ignite.internal.components.SystemPropertiesNodeProperties;
import org.apache.ignite.internal.hlc.TestClockService;
import org.apache.ignite.internal.lowwatermark.TestLowWatermark;
import org.apache.ignite.internal.schema.AlwaysSyncedSchemaSyncService;
@@ -76,8 +75,7 @@ class ClientPrimaryReplicaTrackerTest extends
BaseIgniteAbstractTest {
new FakeCatalogService(PARTITIONS, tableId -> ZONE_ID),
new TestClockService(new TestHybridClock(currentTime::get)),
new AlwaysSyncedSchemaSyncService(),
- new TestLowWatermark(),
- new SystemPropertiesNodeProperties()
+ new TestLowWatermark()
);
}
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 e45f705b5ec..d4afe93e403 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
@@ -29,7 +29,6 @@ import java.util.concurrent.CompletableFuture;
import java.util.concurrent.TimeUnit;
import org.apache.ignite.internal.event.AbstractEventProducer;
import org.apache.ignite.internal.hlc.HybridTimestamp;
-import org.apache.ignite.internal.lang.IgniteSystemProperties;
import org.apache.ignite.internal.partitiondistribution.TokenizedAssignments;
import org.apache.ignite.internal.placementdriver.PlacementDriver;
import org.apache.ignite.internal.placementdriver.ReplicaMeta;
@@ -37,7 +36,6 @@ import
org.apache.ignite.internal.placementdriver.event.PrimaryReplicaEvent;
import
org.apache.ignite.internal.placementdriver.event.PrimaryReplicaEventParameters;
import org.apache.ignite.internal.replicator.PartitionGroupId;
import org.apache.ignite.internal.replicator.ReplicationGroupId;
-import org.apache.ignite.internal.replicator.TablePartitionId;
import org.apache.ignite.internal.replicator.ZonePartitionId;
import org.jetbrains.annotations.Nullable;
@@ -52,8 +50,6 @@ public class FakePlacementDriver extends
AbstractEventProducer<PrimaryReplicaEve
private boolean returnError;
- private final boolean enabledColocation =
IgniteSystemProperties.colocationEnabled();
-
public FakePlacementDriver(int partitions) {
this.partitions = partitions;
primaryReplicas = new ArrayList<>(nCopies(partitions,
getReplicaMeta("s", new UUID(3, 4), HybridTimestamp.MIN_VALUE.longValue())));
@@ -81,8 +77,7 @@ public class FakePlacementDriver extends
AbstractEventProducer<PrimaryReplicaEve
public void updateReplica(@Nullable String replica, int tableId, int
zoneId, int partition, long leaseStartTime) {
UUID leaseHolderId = replica == null ? null : deriveUuidFrom(replica);
primaryReplicas.set(partition, getReplicaMeta(replica, leaseHolderId,
leaseStartTime));
- ReplicationGroupId groupId = enabledColocation ? new
ZonePartitionId(zoneId, partition)
- : new TablePartitionId(tableId, partition);
+ ZonePartitionId groupId = new ZonePartitionId(zoneId, partition);
PrimaryReplicaEventParameters params = new
PrimaryReplicaEventParameters(
0,
@@ -96,8 +91,12 @@ public class FakePlacementDriver extends
AbstractEventProducer<PrimaryReplicaEve
}
@Override
- public CompletableFuture<ReplicaMeta>
awaitPrimaryReplica(ReplicationGroupId groupId, HybridTimestamp timestamp, long
timeout,
- TimeUnit unit) {
+ public CompletableFuture<ReplicaMeta> awaitPrimaryReplica(
+ ReplicationGroupId groupId,
+ HybridTimestamp timestamp,
+ long timeout,
+ TimeUnit unit
+ ) {
PartitionGroupId id = (PartitionGroupId) groupId;
return returnError
@@ -131,8 +130,10 @@ public class FakePlacementDriver extends
AbstractEventProducer<PrimaryReplicaEve
}
@Override
- public CompletableFuture<List<TokenizedAssignments>>
awaitNonEmptyAssignments(List<? extends ReplicationGroupId> replicationGroupIds,
- HybridTimestamp clusterTimeToAwait, long timeoutMillis) {
+ public CompletableFuture<List<TokenizedAssignments>>
awaitNonEmptyAssignments(
+ List<? extends ReplicationGroupId> replicationGroupIds,
+ HybridTimestamp clusterTimeToAwait, long timeoutMillis
+ ) {
return failedFuture(new
UnsupportedOperationException("awaitNonEmptyAssignments() is not supported in
FakePlacementDriver yet."));
}
diff --git
a/modules/client/src/test/java/org/apache/ignite/client/TestClientHandlerModule.java
b/modules/client/src/test/java/org/apache/ignite/client/TestClientHandlerModule.java
index ce53ef8ecdc..4bce0441d52 100644
---
a/modules/client/src/test/java/org/apache/ignite/client/TestClientHandlerModule.java
+++
b/modules/client/src/test/java/org/apache/ignite/client/TestClientHandlerModule.java
@@ -52,7 +52,6 @@ import org.apache.ignite.internal.catalog.CatalogService;
import org.apache.ignite.internal.client.proto.ClientMessageDecoder;
import org.apache.ignite.internal.client.proto.HandshakeExtension;
import org.apache.ignite.internal.client.proto.ProtocolBitmaskFeature;
-import org.apache.ignite.internal.components.SystemPropertiesNodeProperties;
import org.apache.ignite.internal.compute.IgniteComputeInternal;
import org.apache.ignite.internal.hlc.HybridClock;
import org.apache.ignite.internal.hlc.TestClockService;
@@ -269,8 +268,7 @@ public class TestClientHandlerModule implements
IgniteComponent {
catalogService,
clockService,
new
AlwaysSyncedSchemaSyncService(),
- new TestLowWatermark(),
- new
SystemPropertiesNodeProperties()
+ new TestLowWatermark()
),
Runnable::run,
features,
diff --git
a/modules/client/src/test/java/org/apache/ignite/client/TestServer.java
b/modules/client/src/test/java/org/apache/ignite/client/TestServer.java
index 25cb3ee94d0..33de44b9d7c 100644
--- a/modules/client/src/test/java/org/apache/ignite/client/TestServer.java
+++ b/modules/client/src/test/java/org/apache/ignite/client/TestServer.java
@@ -52,7 +52,6 @@ import
org.apache.ignite.client.handler.configuration.ClientConnectorExtensionCo
import
org.apache.ignite.client.handler.configuration.ClientConnectorExtensionConfigurationSchema;
import org.apache.ignite.internal.cluster.management.ClusterTag;
import
org.apache.ignite.internal.cluster.management.network.messages.CmgMessagesFactory;
-import org.apache.ignite.internal.components.SystemPropertiesNodeProperties;
import org.apache.ignite.internal.compute.IgniteComputeInternal;
import org.apache.ignite.internal.configuration.ConfigurationRegistry;
import org.apache.ignite.internal.configuration.ConfigurationTreeGenerator;
@@ -291,7 +290,6 @@ public class TestServer implements AutoCloseable {
ignite.placementDriver(),
clientConnectorConfiguration,
new TestLowWatermark(),
- new SystemPropertiesNodeProperties(),
Runnable::run,
() -> true
);
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/components/SystemPropertiesNodeProperties.java
b/modules/core/src/main/java/org/apache/ignite/internal/components/SystemPropertiesNodeProperties.java
deleted file mode 100644
index e68b1ef2bb3..00000000000
---
a/modules/core/src/main/java/org/apache/ignite/internal/components/SystemPropertiesNodeProperties.java
+++ /dev/null
@@ -1,35 +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.components;
-
-import org.apache.ignite.internal.lang.IgniteSystemProperties;
-import org.jetbrains.annotations.TestOnly;
-
-/**
- * Implementation that ignores persistence and always takes property values
from the system properties.
- *
- * <p>Should only be used for tests.
- */
-// TODO https://issues.apache.org/jira/browse/IGNITE-22522 Consider to remove
this class and its usages.
-@TestOnly
-public class SystemPropertiesNodeProperties implements NodeProperties {
- @Override
- public boolean colocationEnabled() {
- return IgniteSystemProperties.colocationEnabled();
- }
-}
diff --git
a/modules/distribution-zones/src/integrationTest/java/org/apache/ignite/internal/rebalance/ItRebalanceDistributedTest.java
b/modules/distribution-zones/src/integrationTest/java/org/apache/ignite/internal/rebalance/ItRebalanceDistributedTest.java
index 1cdac08bce0..c500c4c33ae 100644
---
a/modules/distribution-zones/src/integrationTest/java/org/apache/ignite/internal/rebalance/ItRebalanceDistributedTest.java
+++
b/modules/distribution-zones/src/integrationTest/java/org/apache/ignite/internal/rebalance/ItRebalanceDistributedTest.java
@@ -115,8 +115,6 @@ import
org.apache.ignite.internal.cluster.management.raft.TestClusterStateStorag
import
org.apache.ignite.internal.cluster.management.topology.LogicalTopologyImpl;
import
org.apache.ignite.internal.cluster.management.topology.LogicalTopologyServiceImpl;
import
org.apache.ignite.internal.cluster.management.topology.api.LogicalTopologySnapshot;
-import org.apache.ignite.internal.components.NodeProperties;
-import org.apache.ignite.internal.components.SystemPropertiesNodeProperties;
import org.apache.ignite.internal.configuration.ClusterConfiguration;
import org.apache.ignite.internal.configuration.ComponentWorkingDir;
import org.apache.ignite.internal.configuration.ConfigurationManager;
@@ -1221,8 +1219,6 @@ public class ItRebalanceDistributedTest extends
BaseIgniteAbstractTest {
vaultManager = createVault(dir);
- NodeProperties nodeProperties = new
SystemPropertiesNodeProperties();
-
var clusterIdService = new ClusterIdHolder();
nodeCfgGenerator = new ConfigurationTreeGenerator(
@@ -1544,7 +1540,6 @@ public class ItRebalanceDistributedTest extends
BaseIgniteAbstractTest {
clusterService.topologyService(),
lowWatermark,
failureManager,
- nodeProperties,
threadPoolsManager.tableIoExecutor(),
threadPoolsManager.rebalanceScheduler(),
threadPoolsManager.partitionOperationsExecutor(),
@@ -1596,7 +1591,6 @@ public class ItRebalanceDistributedTest extends
BaseIgniteAbstractTest {
indexMetaStorage,
logStorageFactory,
partitionReplicaLifecycleManager,
- nodeProperties,
minTimeCollectorService,
systemDistributedConfiguration,
metricManager,
diff --git
a/modules/distribution-zones/src/integrationTest/java/org/apache/ignite/internal/rebalance/ItRebalanceMetricsTest.java
b/modules/distribution-zones/src/integrationTest/java/org/apache/ignite/internal/rebalance/ItRebalanceMetricsTest.java
index 367839753cc..248007bc3fb 100644
---
a/modules/distribution-zones/src/integrationTest/java/org/apache/ignite/internal/rebalance/ItRebalanceMetricsTest.java
+++
b/modules/distribution-zones/src/integrationTest/java/org/apache/ignite/internal/rebalance/ItRebalanceMetricsTest.java
@@ -48,12 +48,10 @@ import org.apache.ignite.internal.metrics.IntMetric;
import org.apache.ignite.internal.metrics.MetricSet;
import org.apache.ignite.internal.partitiondistribution.Assignment;
import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.condition.EnabledIf;
/**
* Tests rebalance metrics.
*/
-@EnabledIf("org.apache.ignite.internal.lang.IgniteSystemProperties#colocationEnabled")
public class ItRebalanceMetricsTest extends ClusterPerTestIntegrationTest {
private static final String ZONE_NAME = "TEST_ZONE";
private static final String ZONE_NAME_TO_RENAME = "TEST_ZONE_TO_RENAME";
diff --git
a/modules/distribution-zones/src/main/java/org/apache/ignite/internal/distributionzones/DistributionZoneManager.java
b/modules/distribution-zones/src/main/java/org/apache/ignite/internal/distributionzones/DistributionZoneManager.java
index 194ac46b6f6..335e53001fe 100644
---
a/modules/distribution-zones/src/main/java/org/apache/ignite/internal/distributionzones/DistributionZoneManager.java
+++
b/modules/distribution-zones/src/main/java/org/apache/ignite/internal/distributionzones/DistributionZoneManager.java
@@ -83,8 +83,6 @@ import
org.apache.ignite.internal.cluster.management.topology.api.LogicalNode;
import
org.apache.ignite.internal.cluster.management.topology.api.LogicalTopologyEventListener;
import
org.apache.ignite.internal.cluster.management.topology.api.LogicalTopologyService;
import
org.apache.ignite.internal.cluster.management.topology.api.LogicalTopologySnapshot;
-import org.apache.ignite.internal.components.NodeProperties;
-import org.apache.ignite.internal.components.SystemPropertiesNodeProperties;
import org.apache.ignite.internal.configuration.SystemDistributedConfiguration;
import
org.apache.ignite.internal.configuration.utils.SystemDistributedConfigurationPropertyHolder;
import
org.apache.ignite.internal.distributionzones.events.HaZoneTopologyUpdateEvent;
@@ -222,7 +220,6 @@ public class DistributionZoneManager extends
catalogManager,
systemDistributedConfiguration,
clockService,
- new SystemPropertiesNodeProperties(),
metricManager,
lowWatermark
);
@@ -240,7 +237,6 @@ public class DistributionZoneManager extends
* @param catalogManager Catalog manager.
* @param systemDistributedConfiguration System distributed configuration.
* @param clockService Clock service.
- * @param nodeProperties Node properties.
* @param metricManager Metric manager.
* @param lowWatermark Low watermark manager.
*/
@@ -254,7 +250,6 @@ public class DistributionZoneManager extends
CatalogManager catalogManager,
SystemDistributedConfiguration systemDistributedConfiguration,
ClockService clockService,
- NodeProperties nodeProperties,
MetricManager metricManager,
LowWatermark lowWatermark
) {
diff --git
a/modules/partition-replicator/src/integrationTest/java/org/apache/ignite/internal/partition/replicator/fixtures/Node.java
b/modules/partition-replicator/src/integrationTest/java/org/apache/ignite/internal/partition/replicator/fixtures/Node.java
index 00099da8df1..5e02886fc02 100644
---
a/modules/partition-replicator/src/integrationTest/java/org/apache/ignite/internal/partition/replicator/fixtures/Node.java
+++
b/modules/partition-replicator/src/integrationTest/java/org/apache/ignite/internal/partition/replicator/fixtures/Node.java
@@ -547,12 +547,10 @@ public class Node {
topologyAwareRaftGroupServiceFactory,
clockService,
failureManager,
- nodeProperties,
replicationConfiguration,
Runnable::run,
metricManager,
- zoneId -> completedFuture(Set.of()),
- zoneId -> null
+ zoneId -> completedFuture(Set.of())
);
var transactionInflights = new
TransactionInflights(placementDriverManager.placementDriver(), clockService);
@@ -728,7 +726,6 @@ public class Node {
clusterService.topologyService(),
lowWatermark,
failureManager,
- nodeProperties,
threadPoolsManager.tableIoExecutor(),
threadPoolsManager.rebalanceScheduler(),
threadPoolsManager.partitionOperationsExecutor(),
@@ -792,7 +789,6 @@ public class Node {
indexMetaStorage,
partitionsLogStorageFactory,
partitionReplicaLifecycleManager,
- nodeProperties,
minTimeCollectorService,
systemDistributedConfiguration,
metricManager,
diff --git
a/modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/PartitionReplicaLifecycleManager.java
b/modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/PartitionReplicaLifecycleManager.java
index 742e7886382..d96464231e0 100644
---
a/modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/PartitionReplicaLifecycleManager.java
+++
b/modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/PartitionReplicaLifecycleManager.java
@@ -104,7 +104,6 @@ import
org.apache.ignite.internal.catalog.descriptors.CatalogZoneDescriptor;
import org.apache.ignite.internal.catalog.descriptors.ConsistencyMode;
import org.apache.ignite.internal.catalog.events.CreateZoneEventParameters;
import org.apache.ignite.internal.catalog.events.DropZoneEventParameters;
-import org.apache.ignite.internal.components.NodeProperties;
import org.apache.ignite.internal.configuration.SystemDistributedConfiguration;
import
org.apache.ignite.internal.configuration.utils.SystemDistributedConfigurationPropertyHolder;
import org.apache.ignite.internal.distributionzones.DistributionZoneManager;
@@ -221,8 +220,6 @@ public class PartitionReplicaLifecycleManager extends
private final FailureProcessor failureProcessor;
- private final NodeProperties nodeProperties;
-
/** Meta storage listener for pending assignments. */
private final WatchListener pendingAssignmentsRebalanceListener;
@@ -335,7 +332,6 @@ public class PartitionReplicaLifecycleManager extends
TopologyService topologyService,
LowWatermark lowWatermark,
FailureProcessor failureProcessor,
- NodeProperties nodeProperties,
ExecutorService ioExecutor,
ScheduledExecutorService rebalanceScheduler,
Executor partitionOperationsExecutor,
@@ -360,7 +356,6 @@ public class PartitionReplicaLifecycleManager extends
topologyService,
lowWatermark,
failureProcessor,
- nodeProperties,
ioExecutor,
rebalanceScheduler,
partitionOperationsExecutor,
@@ -396,7 +391,6 @@ public class PartitionReplicaLifecycleManager extends
TopologyService topologyService,
LowWatermark lowWatermark,
FailureProcessor failureProcessor,
- NodeProperties nodeProperties,
ExecutorService ioExecutor,
ScheduledExecutorService rebalanceScheduler,
Executor partitionOperationsExecutor,
@@ -419,7 +413,6 @@ public class PartitionReplicaLifecycleManager extends
this.topologyService = topologyService;
this.lowWatermark = lowWatermark;
this.failureProcessor = failureProcessor;
- this.nodeProperties = nodeProperties;
this.ioExecutor = ioExecutor;
this.rebalanceScheduler = rebalanceScheduler;
this.partitionOperationsExecutor = partitionOperationsExecutor;
@@ -464,10 +457,6 @@ public class PartitionReplicaLifecycleManager extends
@Override
public CompletableFuture<Void> startAsync(ComponentContext
componentContext) {
- if (!nodeProperties.colocationEnabled()) {
- return nullCompletedFuture();
- }
-
transactionStateResolver.start();
CompletableFuture<Revisions> recoveryFinishFuture =
metaStorageMgr.recoveryFinishedFuture();
@@ -1740,10 +1729,6 @@ public class PartitionReplicaLifecycleManager extends
@Override
public CompletableFuture<Void> stopAsync(ComponentContext
componentContext) {
- if (!nodeProperties.colocationEnabled()) {
- return nullCompletedFuture();
- }
-
try {
metricManager.unregisterSource(zoneResourcesManager.snapshotsMetricsSource());
diff --git
a/modules/partition-replicator/src/test/java/org/apache/ignite/internal/partition/replicator/PartitionReplicaLifecycleManagerTest.java
b/modules/partition-replicator/src/test/java/org/apache/ignite/internal/partition/replicator/PartitionReplicaLifecycleManagerTest.java
index 8dd3d68d775..4ca06dae09c 100644
---
a/modules/partition-replicator/src/test/java/org/apache/ignite/internal/partition/replicator/PartitionReplicaLifecycleManagerTest.java
+++
b/modules/partition-replicator/src/test/java/org/apache/ignite/internal/partition/replicator/PartitionReplicaLifecycleManagerTest.java
@@ -65,7 +65,6 @@ import org.apache.ignite.internal.catalog.CatalogService;
import org.apache.ignite.internal.catalog.commands.CatalogUtils;
import org.apache.ignite.internal.catalog.storage.UpdateLogImpl;
import
org.apache.ignite.internal.cluster.management.ClusterManagementGroupManager;
-import org.apache.ignite.internal.components.SystemPropertiesNodeProperties;
import org.apache.ignite.internal.configuration.SystemDistributedConfiguration;
import
org.apache.ignite.internal.configuration.testframework.ConfigurationExtension;
import
org.apache.ignite.internal.configuration.testframework.InjectConfiguration;
@@ -277,7 +276,6 @@ class PartitionReplicaLifecycleManagerTest extends
BaseIgniteAbstractTest {
clusterService.topologyService(),
lowWatermark,
failureManager,
- new SystemPropertiesNodeProperties(),
executorService,
scheduledExecutorService,
executorService,
diff --git
a/modules/placement-driver/src/integrationTest/java/org/apache/ignite/internal/placementdriver/BasePlacementDriverTest.java
b/modules/placement-driver/src/integrationTest/java/org/apache/ignite/internal/placementdriver/BasePlacementDriverTest.java
index 1f028ebaeff..bd94bda6215 100644
---
a/modules/placement-driver/src/integrationTest/java/org/apache/ignite/internal/placementdriver/BasePlacementDriverTest.java
+++
b/modules/placement-driver/src/integrationTest/java/org/apache/ignite/internal/placementdriver/BasePlacementDriverTest.java
@@ -17,7 +17,6 @@
package org.apache.ignite.internal.placementdriver;
-import static
org.apache.ignite.internal.distributionzones.rebalance.RebalanceUtil.stablePartAssignmentsKey;
import static
org.apache.ignite.internal.partitiondistribution.PartitionDistributionUtils.calculateAssignments;
import java.util.HashMap;
@@ -26,7 +25,6 @@ import java.util.Map;
import java.util.Set;
import
org.apache.ignite.internal.distributionzones.rebalance.ZoneRebalanceUtil;
import org.apache.ignite.internal.lang.ByteArray;
-import org.apache.ignite.internal.lang.IgniteSystemProperties;
import org.apache.ignite.internal.metastorage.MetaStorageManager;
import org.apache.ignite.internal.partitiondistribution.Assignment;
import org.apache.ignite.internal.partitiondistribution.Assignments;
@@ -34,17 +32,14 @@ import
org.apache.ignite.internal.placementdriver.leases.Lease;
import org.apache.ignite.internal.placementdriver.leases.LeaseBatch;
import org.apache.ignite.internal.replicator.PartitionGroupId;
import org.apache.ignite.internal.replicator.ReplicationGroupId;
-import org.apache.ignite.internal.replicator.TablePartitionId;
import org.apache.ignite.internal.replicator.ZonePartitionId;
import org.apache.ignite.internal.testframework.IgniteAbstractTest;
import org.jetbrains.annotations.Nullable;
/** Base class for testing the placement driver. */
abstract class BasePlacementDriverTest extends IgniteAbstractTest {
- protected final boolean enabledColocation =
IgniteSystemProperties.colocationEnabled();
-
- protected PartitionGroupId targetReplicationGroupId(int tableOrZoneId, int
partId) {
- return enabledColocation ? new ZonePartitionId(tableOrZoneId, partId)
: new TablePartitionId(tableOrZoneId, partId);
+ private static ZonePartitionId targetReplicationGroupId(int zoneId, int
partId) {
+ return new ZonePartitionId(zoneId, partId);
}
/**
@@ -54,18 +49,18 @@ abstract class BasePlacementDriverTest extends
IgniteAbstractTest {
*/
protected PartitionGroupId createAssignments(
MetaStorageManager metastore,
- int tableOrZoneId,
+ int zoneId,
List<String> dataNodes,
- long assignmentsTimestamp) {
+ long assignmentsTimestamp
+ ) {
List<Set<Assignment>> assignments = calculateAssignments(dataNodes, 1,
dataNodes.size(), dataNodes.size());
Map<ByteArray, byte[]> partitionAssignments = new
HashMap<>(assignments.size());
for (int i = 0; i < assignments.size(); i++) {
- PartitionGroupId replicationGroupId =
targetReplicationGroupId(tableOrZoneId, i);
- ByteArray stableAssignmentsKey = enabledColocation
- ?
ZoneRebalanceUtil.stablePartAssignmentsKey((ZonePartitionId) replicationGroupId)
- : stablePartAssignmentsKey((TablePartitionId)
replicationGroupId);
+ ZonePartitionId replicationGroupId =
targetReplicationGroupId(zoneId, i);
+ ByteArray stableAssignmentsKey =
ZoneRebalanceUtil.stablePartAssignmentsKey(replicationGroupId);
+
partitionAssignments.put(
stableAssignmentsKey,
Assignments.toBytes(assignments.get(i),
assignmentsTimestamp));
@@ -73,9 +68,9 @@ abstract class BasePlacementDriverTest extends
IgniteAbstractTest {
metastore.putAll(partitionAssignments).join();
- PartitionGroupId grpPart0 = targetReplicationGroupId(tableOrZoneId, 0);
+ ZonePartitionId grpPart0 = targetReplicationGroupId(zoneId, 0);
- log.info("Fake table created [id={}, repGrp={}]", tableOrZoneId,
grpPart0);
+ log.info("Fake table created [id={}, replicationGroup={}]", zoneId,
grpPart0);
return grpPart0;
}
diff --git
a/modules/placement-driver/src/integrationTest/java/org/apache/ignite/internal/placementdriver/MultiActorPlacementDriverTest.java
b/modules/placement-driver/src/integrationTest/java/org/apache/ignite/internal/placementdriver/MultiActorPlacementDriverTest.java
index a65046045b0..97fe3885ca1 100644
---
a/modules/placement-driver/src/integrationTest/java/org/apache/ignite/internal/placementdriver/MultiActorPlacementDriverTest.java
+++
b/modules/placement-driver/src/integrationTest/java/org/apache/ignite/internal/placementdriver/MultiActorPlacementDriverTest.java
@@ -43,7 +43,6 @@ import java.util.stream.Collectors;
import java.util.stream.IntStream;
import
org.apache.ignite.internal.cluster.management.ClusterManagementGroupManager;
import
org.apache.ignite.internal.cluster.management.network.messages.CmgMessagesFactory;
-import org.apache.ignite.internal.components.SystemPropertiesNodeProperties;
import org.apache.ignite.internal.configuration.ComponentWorkingDir;
import org.apache.ignite.internal.configuration.RaftGroupOptionsConfigHelper;
import org.apache.ignite.internal.configuration.SystemDistributedConfiguration;
@@ -330,12 +329,10 @@ public class MultiActorPlacementDriverTest extends
BasePlacementDriverTest {
topologyAwareRaftGroupServiceFactory,
clockService,
mock(FailureProcessor.class),
- new SystemPropertiesNodeProperties(),
replicationConfiguration,
Runnable::run,
mock(MetricManager.class),
- zoneId -> completedFuture(Set.of()),
- zoneId -> null
+ zoneId -> completedFuture(Set.of())
);
res.add(new Node(
diff --git
a/modules/placement-driver/src/integrationTest/java/org/apache/ignite/internal/placementdriver/PlacementDriverManagerTest.java
b/modules/placement-driver/src/integrationTest/java/org/apache/ignite/internal/placementdriver/PlacementDriverManagerTest.java
index 69cd5d42bfa..a6e949dc104 100644
---
a/modules/placement-driver/src/integrationTest/java/org/apache/ignite/internal/placementdriver/PlacementDriverManagerTest.java
+++
b/modules/placement-driver/src/integrationTest/java/org/apache/ignite/internal/placementdriver/PlacementDriverManagerTest.java
@@ -19,7 +19,6 @@ package org.apache.ignite.internal.placementdriver;
import static java.util.concurrent.CompletableFuture.completedFuture;
import static java.util.stream.Collectors.toSet;
-import static
org.apache.ignite.internal.distributionzones.rebalance.RebalanceUtil.STABLE_ASSIGNMENTS_PREFIX;
import static org.apache.ignite.internal.lang.ByteArray.fromString;
import static
org.apache.ignite.internal.metastorage.impl.StandaloneMetaStorageManager.configureCmgManagerToStartMetastorage;
import static
org.apache.ignite.internal.partitiondistribution.PartitionDistributionUtils.calculateAssignmentForPartition;
@@ -63,7 +62,6 @@ import
org.apache.ignite.internal.cluster.management.topology.api.LogicalNode;
import
org.apache.ignite.internal.cluster.management.topology.api.LogicalTopologyEventListener;
import
org.apache.ignite.internal.cluster.management.topology.api.LogicalTopologyService;
import
org.apache.ignite.internal.cluster.management.topology.api.LogicalTopologySnapshot;
-import org.apache.ignite.internal.components.SystemPropertiesNodeProperties;
import org.apache.ignite.internal.configuration.ComponentWorkingDir;
import org.apache.ignite.internal.configuration.RaftGroupOptionsConfigHelper;
import org.apache.ignite.internal.configuration.SystemDistributedConfiguration;
@@ -270,12 +268,10 @@ public class PlacementDriverManagerTest extends
BasePlacementDriverTest {
topologyAwareRaftGroupServiceFactory,
clockService,
mock(FailureProcessor.class),
- new SystemPropertiesNodeProperties(),
replicationConfiguration,
Runnable::run,
mock(MetricManager.class),
- zoneId -> completedFuture(Set.of()),
- zoneId -> null
+ zoneId -> completedFuture(Set.of())
);
ComponentContext componentContext = new ComponentContext();
@@ -400,8 +396,7 @@ public class PlacementDriverManagerTest extends
BasePlacementDriverTest {
Set<Assignment> assignments = Set.of();
- String stableAssignmentsPrefix =
- enabledColocation ?
ZoneRebalanceUtil.STABLE_ASSIGNMENTS_PREFIX : STABLE_ASSIGNMENTS_PREFIX;
+ String stableAssignmentsPrefix =
ZoneRebalanceUtil.STABLE_ASSIGNMENTS_PREFIX;
metaStorageManager.put(fromString(stableAssignmentsPrefix + grpPart0),
Assignments.toBytes(assignments, assignmentsTimestamp));
@@ -455,7 +450,7 @@ public class PlacementDriverManagerTest extends
BasePlacementDriverTest {
Set<Assignment> assignments =
calculateAssignmentForPartition(Collections.singleton(anotherNodeName), 1, 2,
1, 1);
metaStorageManager.put(
- fromString((enabledColocation ?
ZoneRebalanceUtil.STABLE_ASSIGNMENTS_PREFIX : STABLE_ASSIGNMENTS_PREFIX) +
grpPart0),
+ fromString(ZoneRebalanceUtil.STABLE_ASSIGNMENTS_PREFIX +
grpPart0),
Assignments.toBytes(assignments, assignmentsTimestamp)
);
@@ -582,7 +577,7 @@ public class PlacementDriverManagerTest extends
BasePlacementDriverTest {
assertFalse(leaseExpirationMap.get(groupIds.get(1)).get());
assertThat(metaStorageManager.remove(
- fromString((enabledColocation ?
ZoneRebalanceUtil.STABLE_ASSIGNMENTS_PREFIX : STABLE_ASSIGNMENTS_PREFIX) +
groupIds.get(0))
+ fromString(ZoneRebalanceUtil.STABLE_ASSIGNMENTS_PREFIX +
groupIds.get(0))
), willCompleteSuccessfully());
assertTrue(waitForCondition(() -> {
diff --git
a/modules/placement-driver/src/main/java/org/apache/ignite/internal/placementdriver/AssignmentsTracker.java
b/modules/placement-driver/src/main/java/org/apache/ignite/internal/placementdriver/AssignmentsTracker.java
index 97a36c53af1..4a446996021 100644
---
a/modules/placement-driver/src/main/java/org/apache/ignite/internal/placementdriver/AssignmentsTracker.java
+++
b/modules/placement-driver/src/main/java/org/apache/ignite/internal/placementdriver/AssignmentsTracker.java
@@ -20,9 +20,8 @@ package org.apache.ignite.internal.placementdriver;
import static java.util.concurrent.CompletableFuture.completedFuture;
import static java.util.concurrent.CompletableFuture.failedFuture;
import static java.util.function.Function.identity;
-import static
org.apache.ignite.internal.distributionzones.rebalance.RebalanceUtil.PENDING_ASSIGNMENTS_QUEUE_PREFIX_BYTES;
-import static
org.apache.ignite.internal.distributionzones.rebalance.RebalanceUtil.STABLE_ASSIGNMENTS_PREFIX_BYTES;
-import static
org.apache.ignite.internal.distributionzones.rebalance.RebalanceUtil.extractTablePartitionId;
+import static
org.apache.ignite.internal.distributionzones.rebalance.ZoneRebalanceUtil.PENDING_ASSIGNMENTS_QUEUE_PREFIX_BYTES;
+import static
org.apache.ignite.internal.distributionzones.rebalance.ZoneRebalanceUtil.STABLE_ASSIGNMENTS_PREFIX_BYTES;
import static
org.apache.ignite.internal.distributionzones.rebalance.ZoneRebalanceUtil.extractZonePartitionId;
import static
org.apache.ignite.internal.placementdriver.Utils.extractZoneIdFromGroupId;
import static org.apache.ignite.internal.util.CompletableFutures.allOf;
@@ -43,9 +42,7 @@ import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
import java.util.function.Function;
import java.util.stream.Collectors;
-import org.apache.ignite.internal.components.NodeProperties;
import
org.apache.ignite.internal.distributionzones.exception.EmptyDataNodesException;
-import
org.apache.ignite.internal.distributionzones.rebalance.ZoneRebalanceUtil;
import org.apache.ignite.internal.failure.FailureContext;
import org.apache.ignite.internal.failure.FailureProcessor;
import org.apache.ignite.internal.hlc.HybridTimestamp;
@@ -85,8 +82,6 @@ public class AssignmentsTracker implements
AssignmentsPlacementDriver {
private final FailureProcessor failureProcessor;
- private final NodeProperties nodeProperties;
-
/** Map replication group id to stable assignment nodes. */
private final Map<ReplicationGroupId, TokenizedAssignments>
groupStableAssignments;
@@ -104,26 +99,19 @@ public class AssignmentsTracker implements
AssignmentsPlacementDriver {
private final Function<Integer, CompletableFuture<Set<String>>>
currentDataNodesProvider;
- /** Resolver of zone id by table id (result may be {@code null}). */
- private final Function<Integer, Integer> zoneIdByTableIdResolver;
-
/**
* The constructor.
*
* @param msManager Meta storage manager.
* @param failureProcessor Failure processor.
- * @param nodeProperties Node properties.
*/
public AssignmentsTracker(
MetaStorageManager msManager,
FailureProcessor failureProcessor,
- NodeProperties nodeProperties,
- Function<Integer, CompletableFuture<Set<String>>>
currentDataNodesProvider,
- Function<Integer, Integer> zoneIdByTableIdResolver
+ Function<Integer, CompletableFuture<Set<String>>>
currentDataNodesProvider
) {
this.msManager = msManager;
this.failureProcessor = failureProcessor;
- this.nodeProperties = nodeProperties;
this.groupStableAssignments = new ConcurrentHashMap<>();
this.stableAssignmentsListener = createStableAssignmentsListener();
@@ -132,7 +120,6 @@ public class AssignmentsTracker implements
AssignmentsPlacementDriver {
this.pendingAssignmentsListener = createPendingAssignmentsListener();
this.currentDataNodesProvider = currentDataNodesProvider;
- this.zoneIdByTableIdResolver = zoneIdByTableIdResolver;
}
/**
@@ -256,25 +243,17 @@ public class AssignmentsTracker implements
AssignmentsPlacementDriver {
}
private CompletableFuture<List<TokenizedAssignments>>
checkEmptyAssignmentsReason(EmptyAssignmentsException ex) {
- Integer zoneId = extractZoneIdFromGroupId(
- ex.groupId(),
- nodeProperties.colocationEnabled(),
- zoneIdByTableIdResolver
- );
-
- if (zoneId == null) {
- return failedFuture(ex);
- } else {
- return currentDataNodesProvider.apply(zoneId)
- .thenApply(dataNodes -> {
- if (dataNodes.isEmpty()) {
- throw new EmptyAssignmentsException(ex.groupId(),
new EmptyDataNodesException(zoneId));
- } else {
- sneakyThrow(ex);
- return null;
- }
- });
- }
+ int zoneId = extractZoneIdFromGroupId(ex.groupId());
+
+ return currentDataNodesProvider.apply(zoneId)
+ .thenApply(dataNodes -> {
+ if (dataNodes.isEmpty()) {
+ throw new EmptyAssignmentsException(ex.groupId(), new
EmptyDataNodesException(zoneId));
+ } else {
+ sneakyThrow(ex);
+ return null;
+ }
+ });
}
private CompletableFuture<TokenizedAssignments>
nonEmptyAssignmentFuture(ReplicationGroupId groupId, long futureTimeoutMillis) {
@@ -514,17 +493,15 @@ public class AssignmentsTracker implements
AssignmentsPlacementDriver {
return sb.toString();
}
- private byte[] pendingAssignmentsQueuePrefixBytes() {
- return nodeProperties.colocationEnabled()
- ? ZoneRebalanceUtil.PENDING_ASSIGNMENTS_QUEUE_PREFIX_BYTES
- : PENDING_ASSIGNMENTS_QUEUE_PREFIX_BYTES;
+ private static byte[] pendingAssignmentsQueuePrefixBytes() {
+ return PENDING_ASSIGNMENTS_QUEUE_PREFIX_BYTES;
}
- private byte[] stableAssignmentsPrefixBytes() {
- return nodeProperties.colocationEnabled() ?
ZoneRebalanceUtil.STABLE_ASSIGNMENTS_PREFIX_BYTES :
STABLE_ASSIGNMENTS_PREFIX_BYTES;
+ private static byte[] stableAssignmentsPrefixBytes() {
+ return STABLE_ASSIGNMENTS_PREFIX_BYTES;
}
- private ReplicationGroupId extractReplicationGroupPartitionId(byte[] key,
byte[] prefix) {
- return nodeProperties.colocationEnabled() ?
extractZonePartitionId(key, prefix) : extractTablePartitionId(key, prefix);
+ private static ReplicationGroupId
extractReplicationGroupPartitionId(byte[] key, byte[] prefix) {
+ return extractZonePartitionId(key, prefix);
}
}
diff --git
a/modules/placement-driver/src/main/java/org/apache/ignite/internal/placementdriver/PlacementDriverManager.java
b/modules/placement-driver/src/main/java/org/apache/ignite/internal/placementdriver/PlacementDriverManager.java
index dd696e90092..3d351993642 100644
---
a/modules/placement-driver/src/main/java/org/apache/ignite/internal/placementdriver/PlacementDriverManager.java
+++
b/modules/placement-driver/src/main/java/org/apache/ignite/internal/placementdriver/PlacementDriverManager.java
@@ -32,7 +32,6 @@ import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Supplier;
import
org.apache.ignite.internal.cluster.management.topology.api.LogicalTopologyService;
-import org.apache.ignite.internal.components.NodeProperties;
import org.apache.ignite.internal.event.EventListener;
import org.apache.ignite.internal.failure.FailureContext;
import org.apache.ignite.internal.failure.FailureProcessor;
@@ -129,7 +128,6 @@ public class PlacementDriverManager implements
IgniteComponent {
* @param throttledLogExecutor Executor to clean up the throttled logger
cache.
* @param metricManager Metric manager.
* @param currentDataNodesProvider Provider of the current data nodes in
the cluster.
- * @param zoneIdByTableIdResolver Resolver of zone id by table id (result
may be {@code null}).
*/
public PlacementDriverManager(
String nodeName,
@@ -142,12 +140,10 @@ public class PlacementDriverManager implements
IgniteComponent {
TopologyAwareRaftGroupServiceFactory
topologyAwareRaftGroupServiceFactory,
ClockService clockService,
FailureProcessor failureProcessor,
- NodeProperties nodeProperties,
ReplicationConfiguration replicationConfiguration,
Executor throttledLogExecutor,
MetricManager metricManager,
- Function<Integer, CompletableFuture<Set<String>>>
currentDataNodesProvider,
- Function<Integer, Integer> zoneIdByTableIdResolver
+ Function<Integer, CompletableFuture<Set<String>>>
currentDataNodesProvider
) {
this.replicationGroupId = replicationGroupId;
this.clusterService = clusterService;
@@ -163,17 +159,13 @@ public class PlacementDriverManager implements
IgniteComponent {
metastore,
clusterService.topologyService(),
clockService,
- currentDataNodesProvider,
- zoneIdByTableIdResolver,
- nodeProperties
+ currentDataNodesProvider
);
this.assignmentsTracker = new AssignmentsTracker(
metastore,
failureProcessor,
- nodeProperties,
- currentDataNodesProvider,
- zoneIdByTableIdResolver
+ currentDataNodesProvider
);
this.leaseUpdater = new LeaseUpdater(
diff --git
a/modules/placement-driver/src/main/java/org/apache/ignite/internal/placementdriver/Utils.java
b/modules/placement-driver/src/main/java/org/apache/ignite/internal/placementdriver/Utils.java
index 6ccc31f278b..6018482b556 100644
---
a/modules/placement-driver/src/main/java/org/apache/ignite/internal/placementdriver/Utils.java
+++
b/modules/placement-driver/src/main/java/org/apache/ignite/internal/placementdriver/Utils.java
@@ -17,11 +17,8 @@
package org.apache.ignite.internal.placementdriver;
-import java.util.function.Function;
import org.apache.ignite.internal.replicator.ReplicationGroupId;
-import org.apache.ignite.internal.replicator.TablePartitionId;
import org.apache.ignite.internal.replicator.ZonePartitionId;
-import org.jetbrains.annotations.Nullable;
/**
* Utils for placement driver.
@@ -31,20 +28,14 @@ public class Utils {
* Extracts zone ID from the given group id.
*
* @param groupId Replication group ID.
- * @param colocationEnabled Whether colocation is enabled.
- * @param zoneIdByTableIdResolver Function to resolve zone ID by table ID
if colocation is disabled.
- * @return Zone ID or {@code null}.
+ * @return Zone ID.
*/
- @Nullable
- public static Integer extractZoneIdFromGroupId(
- ReplicationGroupId groupId,
- boolean colocationEnabled,
- Function<Integer, Integer> zoneIdByTableIdResolver
- ) {
- if (colocationEnabled && groupId instanceof ZonePartitionId) {
- return ((ZonePartitionId) groupId).zoneId();
- } else {
- return zoneIdByTableIdResolver.apply(((TablePartitionId)
groupId).tableId());
- }
+ public static int extractZoneIdFromGroupId(ReplicationGroupId groupId) {
+ assert groupId instanceof ZonePartitionId : "Unexpected replication
group id type ["
+ + "group=" + groupId
+ + ", type=" + (groupId != null ?
groupId.getClass().getSimpleName() : "N/A")
+ + ']';
+
+ return ((ZonePartitionId) groupId).zoneId();
}
}
diff --git
a/modules/placement-driver/src/main/java/org/apache/ignite/internal/placementdriver/leases/LeaseTracker.java
b/modules/placement-driver/src/main/java/org/apache/ignite/internal/placementdriver/leases/LeaseTracker.java
index 1170f2fc222..5d76e1d63b3 100644
---
a/modules/placement-driver/src/main/java/org/apache/ignite/internal/placementdriver/leases/LeaseTracker.java
+++
b/modules/placement-driver/src/main/java/org/apache/ignite/internal/placementdriver/leases/LeaseTracker.java
@@ -48,7 +48,6 @@ import java.util.concurrent.TimeoutException;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.function.Function;
import java.util.function.Supplier;
-import org.apache.ignite.internal.components.NodeProperties;
import
org.apache.ignite.internal.distributionzones.exception.EmptyDataNodesException;
import org.apache.ignite.internal.event.AbstractEventProducer;
import org.apache.ignite.internal.hlc.ClockService;
@@ -111,11 +110,6 @@ public class LeaseTracker extends
AbstractEventProducer<PrimaryReplicaEvent, Pri
private final Function<Integer, CompletableFuture<Set<String>>>
currentDataNodesProvider;
- /** Resolver of zone id by table id (result may be {@code null}). */
- private final Function<Integer, Integer> zoneIdByTableIdResolver;
-
- private final NodeProperties nodeProperties;
-
/**
* Constructor.
*
@@ -126,16 +120,12 @@ public class LeaseTracker extends
AbstractEventProducer<PrimaryReplicaEvent, Pri
MetaStorageManager msManager,
ClusterNodeResolver clusterNodeResolver,
ClockService clockService,
- Function<Integer, CompletableFuture<Set<String>>>
currentDataNodesProvider,
- Function<Integer, Integer> zoneIdByTableIdResolver,
- NodeProperties nodeProperties
+ Function<Integer, CompletableFuture<Set<String>>>
currentDataNodesProvider
) {
this.msManager = msManager;
this.clusterNodeResolver = clusterNodeResolver;
this.clockService = clockService;
this.currentDataNodesProvider = currentDataNodesProvider;
- this.zoneIdByTableIdResolver = zoneIdByTableIdResolver;
- this.nodeProperties = nodeProperties;
}
/**
@@ -366,18 +356,14 @@ public class LeaseTracker extends
AbstractEventProducer<PrimaryReplicaEvent, Pri
}
private CompletableFuture<Void> checkDataNodes(ReplicationGroupId groupId)
{
- Integer zoneId = extractZoneIdFromGroupId(groupId,
nodeProperties.colocationEnabled(), zoneIdByTableIdResolver);
+ int zoneId = extractZoneIdFromGroupId(groupId);
- if (zoneId != null) {
- return currentDataNodesProvider.apply(zoneId)
- .thenAccept(dataNodes -> {
- if (dataNodes.isEmpty()) {
- throw new EmptyDataNodesException(zoneId);
- }
- });
- } else {
- return nullCompletedFuture();
- }
+ return currentDataNodesProvider.apply(zoneId)
+ .thenAccept(dataNodes -> {
+ if (dataNodes.isEmpty()) {
+ throw new EmptyDataNodesException(zoneId);
+ }
+ });
}
private boolean isValidReplicaMeta(@Nullable ReplicaMeta replicaMeta) {
diff --git
a/modules/placement-driver/src/test/java/org/apache/ignite/internal/placementdriver/ActiveActorTest.java
b/modules/placement-driver/src/test/java/org/apache/ignite/internal/placementdriver/ActiveActorTest.java
index 0f43704ef44..4dbb6532a06 100644
---
a/modules/placement-driver/src/test/java/org/apache/ignite/internal/placementdriver/ActiveActorTest.java
+++
b/modules/placement-driver/src/test/java/org/apache/ignite/internal/placementdriver/ActiveActorTest.java
@@ -35,7 +35,6 @@ import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import
org.apache.ignite.internal.cluster.management.topology.api.LogicalTopologyService;
-import org.apache.ignite.internal.components.SystemPropertiesNodeProperties;
import
org.apache.ignite.internal.configuration.testframework.InjectConfiguration;
import org.apache.ignite.internal.failure.FailureProcessor;
import org.apache.ignite.internal.hlc.HybridClockImpl;
@@ -139,12 +138,10 @@ public class ActiveActorTest extends
AbstractTopologyAwareGroupServiceTest {
raftGroupServiceFactory,
new TestClockService(new HybridClockImpl()),
mock(FailureProcessor.class),
- new SystemPropertiesNodeProperties(),
replicationConfiguration,
Runnable::run,
mock(MetricManager.class),
- zoneId -> completedFuture(Set.of()),
- zoneId -> null
+ zoneId -> completedFuture(Set.of())
);
assertThat(placementDriverManager.startAsync(new ComponentContext()),
willCompleteSuccessfully());
diff --git
a/modules/placement-driver/src/test/java/org/apache/ignite/internal/placementdriver/AssignmentsTrackerTest.java
b/modules/placement-driver/src/test/java/org/apache/ignite/internal/placementdriver/AssignmentsTrackerTest.java
index 9b5160785e3..1cec7d4a00a 100644
---
a/modules/placement-driver/src/test/java/org/apache/ignite/internal/placementdriver/AssignmentsTrackerTest.java
+++
b/modules/placement-driver/src/test/java/org/apache/ignite/internal/placementdriver/AssignmentsTrackerTest.java
@@ -29,7 +29,6 @@ import static org.junit.jupiter.api.Assertions.assertFalse;
import java.util.List;
import java.util.Set;
import java.util.concurrent.CompletableFuture;
-import org.apache.ignite.internal.components.SystemPropertiesNodeProperties;
import
org.apache.ignite.internal.distributionzones.rebalance.ZoneRebalanceUtil;
import org.apache.ignite.internal.failure.FailureContext;
import org.apache.ignite.internal.failure.FailureProcessor;
@@ -72,9 +71,7 @@ public class AssignmentsTrackerTest extends
BaseIgniteAbstractTest {
assignmentsTracker = new AssignmentsTracker(
metaStorageManager,
new TestFailureProcessor(),
- new SystemPropertiesNodeProperties(),
- zoneId -> completedFuture(dataNodes(zoneId)),
- id -> id
+ zoneId -> completedFuture(dataNodes(zoneId))
);
assignmentsTracker.startTrack();
diff --git
a/modules/placement-driver/src/test/java/org/apache/ignite/internal/placementdriver/LeaseNegotiationTest.java
b/modules/placement-driver/src/test/java/org/apache/ignite/internal/placementdriver/LeaseNegotiationTest.java
index eb48600c091..8c445c7a91c 100644
---
a/modules/placement-driver/src/test/java/org/apache/ignite/internal/placementdriver/LeaseNegotiationTest.java
+++
b/modules/placement-driver/src/test/java/org/apache/ignite/internal/placementdriver/LeaseNegotiationTest.java
@@ -21,7 +21,6 @@ import static java.util.Collections.emptyList;
import static java.util.UUID.randomUUID;
import static java.util.concurrent.CompletableFuture.completedFuture;
import static java.util.concurrent.CompletableFuture.failedFuture;
-import static
org.apache.ignite.internal.distributionzones.rebalance.RebalanceUtil.stablePartAssignmentsKey;
import static org.apache.ignite.internal.lang.IgniteStringFormatter.format;
import static
org.apache.ignite.internal.partitiondistribution.Assignment.forPeer;
import static
org.apache.ignite.internal.placementdriver.PlacementDriverManager.PLACEMENTDRIVER_LEASES_KEY;
@@ -54,7 +53,6 @@ import
org.apache.ignite.internal.cluster.management.topology.api.LogicalNode;
import
org.apache.ignite.internal.cluster.management.topology.api.LogicalTopologyEventListener;
import
org.apache.ignite.internal.cluster.management.topology.api.LogicalTopologyService;
import
org.apache.ignite.internal.cluster.management.topology.api.LogicalTopologySnapshot;
-import org.apache.ignite.internal.components.SystemPropertiesNodeProperties;
import
org.apache.ignite.internal.configuration.testframework.ConfigurationExtension;
import
org.apache.ignite.internal.configuration.testframework.InjectConfiguration;
import
org.apache.ignite.internal.distributionzones.rebalance.ZoneRebalanceUtil;
@@ -63,7 +61,6 @@ import org.apache.ignite.internal.hlc.HybridClockImpl;
import org.apache.ignite.internal.hlc.HybridTimestamp;
import org.apache.ignite.internal.hlc.TestClockService;
import org.apache.ignite.internal.lang.ByteArray;
-import org.apache.ignite.internal.lang.IgniteSystemProperties;
import org.apache.ignite.internal.manager.ComponentContext;
import org.apache.ignite.internal.metastorage.Entry;
import
org.apache.ignite.internal.metastorage.impl.StandaloneMetaStorageManager;
@@ -81,9 +78,7 @@ import
org.apache.ignite.internal.placementdriver.message.LeaseGrantedMessageRes
import
org.apache.ignite.internal.placementdriver.message.PlacementDriverMessagesFactory;
import org.apache.ignite.internal.placementdriver.negotiation.LeaseAgreement;
import org.apache.ignite.internal.placementdriver.negotiation.LeaseNegotiator;
-import org.apache.ignite.internal.replicator.PartitionGroupId;
import org.apache.ignite.internal.replicator.ReplicationGroupId;
-import org.apache.ignite.internal.replicator.TablePartitionId;
import org.apache.ignite.internal.replicator.ZonePartitionId;
import
org.apache.ignite.internal.replicator.configuration.ReplicationConfiguration;
import org.apache.ignite.internal.testframework.BaseIgniteAbstractTest;
@@ -103,9 +98,7 @@ import org.junit.jupiter.api.extension.ExtendWith;
public class LeaseNegotiationTest extends BaseIgniteAbstractTest {
private static final PlacementDriverMessagesFactory MSG_FACTORY = new
PlacementDriverMessagesFactory();
- private final boolean enabledColocation =
IgniteSystemProperties.colocationEnabled();
-
- private final PartitionGroupId groupId = replicationGroupId(0, 0);
+ private final ZonePartitionId groupId = replicationGroupId(0, 0);
private static final String NODE_0_NAME = "node0";
private static final LogicalNode CLUSTER_NODE_0 = new
LogicalNode(randomUUID(), NODE_0_NAME, mock(NetworkAddress.class));
@@ -135,8 +128,8 @@ public class LeaseNegotiationTest extends
BaseIgniteAbstractTest {
@InjectConfiguration("mock.leaseAgreementAcceptanceTimeLimitMillis = 2000")
private ReplicationConfiguration replicationConfiguration;
- private PartitionGroupId replicationGroupId(int objectId, int partId) {
- return enabledColocation ? new ZonePartitionId(objectId, partId) : new
TablePartitionId(objectId, partId);
+ private static ZonePartitionId replicationGroupId(int objectId, int
partId) {
+ return new ZonePartitionId(objectId, partId);
}
@BeforeEach
@@ -200,9 +193,7 @@ public class LeaseNegotiationTest extends
BaseIgniteAbstractTest {
metaStorageManager,
pdClusterService.topologyService(),
clockService,
- zoneId -> completedFuture(Set.of()),
- id -> null,
- new SystemPropertiesNodeProperties()
+ zoneId -> completedFuture(Set.of())
);
leaseTracker.startTrack(0L);
@@ -210,9 +201,7 @@ public class LeaseNegotiationTest extends
BaseIgniteAbstractTest {
assignmentsTracker = new AssignmentsTracker(
metaStorageManager,
mock(FailureProcessor.class),
- new SystemPropertiesNodeProperties(),
- zoneId -> completedFuture(Set.of()),
- zoneId -> null
+ zoneId -> completedFuture(Set.of())
);
assignmentsTracker.startTrack();
@@ -263,9 +252,8 @@ public class LeaseNegotiationTest extends
BaseIgniteAbstractTest {
lgmProcessed.complete(null);
}
- private ByteArray stableAssignmentsKey(PartitionGroupId groupId) {
- return enabledColocation ?
ZoneRebalanceUtil.stablePartAssignmentsKey((ZonePartitionId) groupId)
- : stablePartAssignmentsKey((TablePartitionId) groupId);
+ private static ByteArray stableAssignmentsKey(ZonePartitionId groupId) {
+ return ZoneRebalanceUtil.stablePartAssignmentsKey(groupId);
}
@Test
@@ -394,8 +382,8 @@ public class LeaseNegotiationTest extends
BaseIgniteAbstractTest {
public void testAllLeasesAreProlongedIfOneIs() throws InterruptedException
{
leaseGrantedMessageHandler = (n, lgm) ->
completedFuture(createLeaseGrantedMessageResponse(true));
- PartitionGroupId groupId0 = replicationGroupId(1, 0);
- PartitionGroupId groupId1 = replicationGroupId(1, 1);
+ ZonePartitionId groupId0 = replicationGroupId(1, 0);
+ ZonePartitionId groupId1 = replicationGroupId(1, 1);
metaStorageManager.put(stableAssignmentsKey(groupId0),
Assignments.toBytes(Set.of(forPeer(NODE_0_NAME)), assignmentsTimestamp));
@@ -444,8 +432,8 @@ public class LeaseNegotiationTest extends
BaseIgniteAbstractTest {
CompletableFuture<?> timedOutGroupLgmReceived = new
CompletableFuture<>();
CompletableFuture<?> removedGroupLgmReceived = new
CompletableFuture<>();
- PartitionGroupId timedOutGroup = replicationGroupId(1, 1);
- PartitionGroupId removedGroup = replicationGroupId(1, 2);
+ ZonePartitionId timedOutGroup = replicationGroupId(1, 1);
+ ZonePartitionId removedGroup = replicationGroupId(1, 2);
byte[] assignmentBytes =
Assignments.toBytes(Set.of(forPeer(NODE_0_NAME)), assignmentsTimestamp);
leaseGrantedMessageHandler = (n, lgm) -> {
@@ -501,8 +489,8 @@ public class LeaseNegotiationTest extends
BaseIgniteAbstractTest {
public void testLeasesCleanupOfOneGroupFromMultiple() throws
InterruptedException {
leaseGrantedMessageHandler = (n, lgm) ->
completedFuture(createLeaseGrantedMessageResponse(true));
- PartitionGroupId groupId0 = replicationGroupId(0, 0);
- PartitionGroupId groupId1 = replicationGroupId(0, 1);
+ ZonePartitionId groupId0 = replicationGroupId(0, 0);
+ ZonePartitionId groupId1 = replicationGroupId(0, 1);
metaStorageManager.put(stableAssignmentsKey(groupId0),
Assignments.toBytes(Set.of(forPeer(NODE_0_NAME)), assignmentsTimestamp));
metaStorageManager.put(stableAssignmentsKey(groupId1),
Assignments.toBytes(Set.of(forPeer(NODE_1_NAME)), assignmentsTimestamp));
diff --git
a/modules/placement-driver/src/test/java/org/apache/ignite/internal/placementdriver/LeaseTrackerTest.java
b/modules/placement-driver/src/test/java/org/apache/ignite/internal/placementdriver/LeaseTrackerTest.java
index 5c7d4cb3969..230fd5a5548 100644
---
a/modules/placement-driver/src/test/java/org/apache/ignite/internal/placementdriver/LeaseTrackerTest.java
+++
b/modules/placement-driver/src/test/java/org/apache/ignite/internal/placementdriver/LeaseTrackerTest.java
@@ -41,7 +41,8 @@ import java.util.Set;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicReference;
-import org.apache.ignite.internal.components.SystemPropertiesNodeProperties;
+import java.util.function.Function;
+import
org.apache.ignite.internal.distributionzones.exception.EmptyDataNodesException;
import org.apache.ignite.internal.hlc.HybridClockImpl;
import org.apache.ignite.internal.hlc.HybridTimestamp;
import org.apache.ignite.internal.hlc.TestClockService;
@@ -55,7 +56,7 @@ import
org.apache.ignite.internal.placementdriver.event.PrimaryReplicaEventParam
import org.apache.ignite.internal.placementdriver.leases.Lease;
import org.apache.ignite.internal.placementdriver.leases.LeaseBatch;
import org.apache.ignite.internal.placementdriver.leases.LeaseTracker;
-import org.apache.ignite.internal.replicator.TablePartitionId;
+import org.apache.ignite.internal.replicator.ZonePartitionId;
import org.apache.ignite.internal.testframework.BaseIgniteAbstractTest;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
@@ -76,19 +77,21 @@ public class LeaseTrackerTest extends
BaseIgniteAbstractTest {
@Mock
private ClusterNodeResolver clusterNodeResolver;
+ private DataNodesProvider dataNodesProvider;
+
@BeforeEach
void setUp() {
msManager = StandaloneMetaStorageManager.create();
HybridClockImpl clock = new HybridClockImpl();
+ dataNodesProvider = new DataNodesProvider();
+
leaseTracker = new LeaseTracker(
msManager,
clusterNodeResolver,
new TestClockService(clock),
- zoneId -> completedFuture(Set.of()),
- id -> null,
- new SystemPropertiesNodeProperties()
+ dataNodesProvider
);
assertThat(msManager.startAsync(new ComponentContext()),
willCompleteSuccessfully());
@@ -116,8 +119,8 @@ public class LeaseTrackerTest extends
BaseIgniteAbstractTest {
return falseCompletedFuture();
});
- TablePartitionId partId0 = new TablePartitionId(0, 0);
- TablePartitionId partId1 = new TablePartitionId(0, 1);
+ var partId0 = new ZonePartitionId(0, 0);
+ var partId1 = new ZonePartitionId(0, 1);
HybridTimestamp startTime = new HybridTimestamp(1, 0);
HybridTimestamp expirationTime = new HybridTimestamp(1000, 0);
@@ -184,7 +187,7 @@ public class LeaseTrackerTest extends
BaseIgniteAbstractTest {
return falseCompletedFuture();
});
- TablePartitionId partId = new TablePartitionId(0, 0);
+ var partId = new ZonePartitionId(0, 0);
HybridTimestamp expirationTime = new HybridTimestamp(1000, 0);
@@ -212,7 +215,7 @@ public class LeaseTrackerTest extends
BaseIgniteAbstractTest {
void awaitPrimaryReplicaPropagatesExceptions() {
when(clusterNodeResolver.getById(any())).thenThrow(new
RuntimeException("test"));
- var groupId = new TablePartitionId(0, 0);
+ var groupId = new ZonePartitionId(0, 0);
CompletableFuture<?> future = leaseTracker.awaitPrimaryReplica(
groupId,
@@ -235,7 +238,7 @@ public class LeaseTrackerTest extends
BaseIgniteAbstractTest {
@Test
void awaitPrimaryReplicaPropagatesExceptionsOnStop() {
CompletableFuture<?> future = leaseTracker.awaitPrimaryReplica(
- new TablePartitionId(0, 0),
+ new ZonePartitionId(0, 0),
HybridTimestamp.MAX_VALUE,
30,
TimeUnit.SECONDS
@@ -249,7 +252,7 @@ public class LeaseTrackerTest extends
BaseIgniteAbstractTest {
@Test
void awaitPrimaryReplicaThrowsOnTimeout() {
CompletableFuture<?> future = leaseTracker.awaitPrimaryReplica(
- new TablePartitionId(0, 0),
+ new ZonePartitionId(0, 0),
HybridTimestamp.MAX_VALUE,
1,
TimeUnit.MILLISECONDS
@@ -257,4 +260,31 @@ public class LeaseTrackerTest extends
BaseIgniteAbstractTest {
assertThat(future,
willThrow(PrimaryReplicaAwaitTimeoutException.class));
}
+
+ @Test
+ void awaitPrimaryReplicaPropagatesExceptionsWhenNodesIsEmpty() {
+ dataNodesProvider.emulateEmptyDataNodes();
+
+ CompletableFuture<?> future = leaseTracker.awaitPrimaryReplica(
+ new ZonePartitionId(0, 0),
+ HybridTimestamp.MAX_VALUE,
+ 30,
+ TimeUnit.MILLISECONDS
+ );
+
+ assertThat(future, willThrow(EmptyDataNodesException.class));
+ }
+
+ private static class DataNodesProvider implements Function<Integer,
CompletableFuture<Set<String>>> {
+ private volatile boolean emptyNodes;
+
+ void emulateEmptyDataNodes() {
+ emptyNodes = true;
+ }
+
+ @Override
+ public CompletableFuture<Set<String>> apply(Integer integer) {
+ return emptyNodes ? completedFuture(Set.of()) :
completedFuture(Set.of("test-node"));
+ }
+ }
}
diff --git
a/modules/placement-driver/src/test/java/org/apache/ignite/internal/placementdriver/LeaseUpdaterTest.java
b/modules/placement-driver/src/test/java/org/apache/ignite/internal/placementdriver/LeaseUpdaterTest.java
index 795c3368807..71f6ba9396d 100644
---
a/modules/placement-driver/src/test/java/org/apache/ignite/internal/placementdriver/LeaseUpdaterTest.java
+++
b/modules/placement-driver/src/test/java/org/apache/ignite/internal/placementdriver/LeaseUpdaterTest.java
@@ -21,10 +21,6 @@ import static java.util.Collections.emptyMap;
import static java.util.UUID.randomUUID;
import static java.util.concurrent.CompletableFuture.completedFuture;
import static java.util.stream.Collectors.toSet;
-import static
org.apache.ignite.internal.distributionzones.rebalance.RebalanceUtil.PENDING_ASSIGNMENTS_QUEUE_PREFIX_BYTES;
-import static
org.apache.ignite.internal.distributionzones.rebalance.RebalanceUtil.STABLE_ASSIGNMENTS_PREFIX_BYTES;
-import static
org.apache.ignite.internal.distributionzones.rebalance.RebalanceUtil.pendingPartAssignmentsQueueKey;
-import static
org.apache.ignite.internal.distributionzones.rebalance.RebalanceUtil.stablePartAssignmentsKey;
import static org.apache.ignite.internal.util.ArrayUtils.BYTE_EMPTY_ARRAY;
import static org.apache.ignite.internal.util.ByteUtils.toByteArray;
import static
org.apache.ignite.internal.util.CompletableFutures.trueCompletedFuture;
@@ -57,7 +53,6 @@ import java.util.stream.Stream;
import org.apache.ignite.internal.cluster.management.topology.api.LogicalNode;
import
org.apache.ignite.internal.cluster.management.topology.api.LogicalTopologyService;
import
org.apache.ignite.internal.cluster.management.topology.api.LogicalTopologySnapshot;
-import org.apache.ignite.internal.components.SystemPropertiesNodeProperties;
import
org.apache.ignite.internal.configuration.testframework.ConfigurationExtension;
import
org.apache.ignite.internal.configuration.testframework.InjectConfiguration;
import
org.apache.ignite.internal.distributionzones.rebalance.ZoneRebalanceUtil;
@@ -66,7 +61,6 @@ import org.apache.ignite.internal.hlc.HybridClockImpl;
import org.apache.ignite.internal.hlc.HybridTimestamp;
import org.apache.ignite.internal.hlc.TestClockService;
import org.apache.ignite.internal.lang.ByteArray;
-import org.apache.ignite.internal.lang.IgniteSystemProperties;
import org.apache.ignite.internal.metastorage.Entry;
import org.apache.ignite.internal.metastorage.MetaStorageManager;
import org.apache.ignite.internal.metastorage.Revisions;
@@ -84,9 +78,7 @@ import
org.apache.ignite.internal.placementdriver.leases.LeaseBatch;
import org.apache.ignite.internal.placementdriver.leases.LeaseTracker;
import org.apache.ignite.internal.placementdriver.leases.Leases;
import
org.apache.ignite.internal.placementdriver.message.PlacementDriverMessagesFactory;
-import org.apache.ignite.internal.replicator.PartitionGroupId;
import org.apache.ignite.internal.replicator.ReplicationGroupId;
-import org.apache.ignite.internal.replicator.TablePartitionId;
import org.apache.ignite.internal.replicator.ZonePartitionId;
import
org.apache.ignite.internal.replicator.configuration.ReplicationConfiguration;
import org.apache.ignite.internal.testframework.BaseIgniteAbstractTest;
@@ -135,20 +127,16 @@ public class LeaseUpdaterTest extends
BaseIgniteAbstractTest {
/** Closure to get a lease that is passed in Meta storage. */
private volatile Consumer<Lease> renewLeaseConsumer = null;
- private final boolean enabledColocation =
IgniteSystemProperties.colocationEnabled();
-
- private PartitionGroupId replicationGroupId(int objectId, int partId) {
- return enabledColocation ? new ZonePartitionId(objectId, partId) : new
TablePartitionId(objectId, partId);
+ private static ZonePartitionId replicationGroupId(int objectId, int
partId) {
+ return new ZonePartitionId(objectId, partId);
}
- private ByteArray stableAssignmentsKey(PartitionGroupId groupId) {
- return enabledColocation ?
ZoneRebalanceUtil.stablePartAssignmentsKey((ZonePartitionId) groupId)
- : stablePartAssignmentsKey((TablePartitionId) groupId);
+ private static ByteArray stableAssignmentsKey(ZonePartitionId groupId) {
+ return ZoneRebalanceUtil.stablePartAssignmentsKey(groupId);
}
- private ByteArray pendingAssignmentsQueueKey(PartitionGroupId groupId) {
- return enabledColocation ?
ZoneRebalanceUtil.pendingPartAssignmentsQueueKey((ZonePartitionId) groupId)
- : pendingPartAssignmentsQueueKey((TablePartitionId) groupId);
+ private static ByteArray pendingAssignmentsQueueKey(ZonePartitionId
groupId) {
+ return ZoneRebalanceUtil.pendingPartAssignmentsQueueKey(groupId);
}
@BeforeEach
@@ -191,9 +179,7 @@ public class LeaseUpdaterTest extends
BaseIgniteAbstractTest {
assignmentsTracker = new AssignmentsTracker(
metaStorageManager,
mock(FailureProcessor.class),
- new SystemPropertiesNodeProperties(),
- zoneId -> completedFuture(Set.of()),
- zoneId -> null
+ zoneId -> completedFuture(Set.of())
);
assignmentsTracker.startTrack();
@@ -403,8 +389,7 @@ public class LeaseUpdaterTest extends
BaseIgniteAbstractTest {
new HybridClockImpl().now()
);
- byte[] prefixBytes = enabledColocation ?
ZoneRebalanceUtil.PENDING_ASSIGNMENTS_QUEUE_PREFIX_BYTES
- : PENDING_ASSIGNMENTS_QUEUE_PREFIX_BYTES;
+ byte[] prefixBytes =
ZoneRebalanceUtil.PENDING_ASSIGNMENTS_QUEUE_PREFIX_BYTES;
when(metaStorageManager.prefixLocally(eq(new ByteArray(prefixBytes)),
anyLong()))
.thenReturn(Cursor.fromIterable(List.of(pendingEntry)));
}
@@ -417,7 +402,7 @@ public class LeaseUpdaterTest extends
BaseIgniteAbstractTest {
new HybridClockImpl().now()
);
- byte[] prefixBytes = enabledColocation ?
ZoneRebalanceUtil.STABLE_ASSIGNMENTS_PREFIX_BYTES :
STABLE_ASSIGNMENTS_PREFIX_BYTES;
+ byte[] prefixBytes = ZoneRebalanceUtil.STABLE_ASSIGNMENTS_PREFIX_BYTES;
when(metaStorageManager.prefixLocally(eq(new ByteArray(prefixBytes)),
anyLong()))
.thenReturn(Cursor.fromIterable(List.of(stableEntry)));
}
diff --git
a/modules/placement-driver/src/test/java/org/apache/ignite/internal/placementdriver/PlacementDriverTest.java
b/modules/placement-driver/src/test/java/org/apache/ignite/internal/placementdriver/PlacementDriverTest.java
index 2a2b364461d..84358f23fa5 100644
---
a/modules/placement-driver/src/test/java/org/apache/ignite/internal/placementdriver/PlacementDriverTest.java
+++
b/modules/placement-driver/src/test/java/org/apache/ignite/internal/placementdriver/PlacementDriverTest.java
@@ -57,7 +57,6 @@ import java.util.UUID;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
-import org.apache.ignite.internal.components.SystemPropertiesNodeProperties;
import org.apache.ignite.internal.failure.FailureProcessor;
import org.apache.ignite.internal.hlc.ClockService;
import org.apache.ignite.internal.hlc.HybridClock;
@@ -936,9 +935,7 @@ public class PlacementDriverTest extends
BaseIgniteAbstractTest {
metastore,
clusterNodeResolver,
clockService,
- zoneId -> completedFuture(Set.of("A")),
- id -> null,
- new SystemPropertiesNodeProperties()
+ zoneId -> completedFuture(Set.of("A"))
);
}
@@ -946,9 +943,7 @@ public class PlacementDriverTest extends
BaseIgniteAbstractTest {
return new AssignmentsTracker(
metastore,
mock(FailureProcessor.class),
- new SystemPropertiesNodeProperties(),
- zoneId -> completedFuture(Set.of("A")),
- zoneId -> null
+ zoneId -> completedFuture(Set.of("A"))
);
}
}
diff --git
a/modules/raft/src/integrationTest/java/org/apache/ignite/internal/raftsnapshot/ItInterruptedRaftSnapshotStorageRecoveryTest.java
b/modules/raft/src/integrationTest/java/org/apache/ignite/internal/raftsnapshot/ItInterruptedRaftSnapshotStorageRecoveryTest.java
index 73d0472dafe..3f76ed64b98 100644
---
a/modules/raft/src/integrationTest/java/org/apache/ignite/internal/raftsnapshot/ItInterruptedRaftSnapshotStorageRecoveryTest.java
+++
b/modules/raft/src/integrationTest/java/org/apache/ignite/internal/raftsnapshot/ItInterruptedRaftSnapshotStorageRecoveryTest.java
@@ -111,7 +111,7 @@ class ItInterruptedRaftSnapshotStorageRecoveryTest extends
ClusterPerTestIntegra
// Truncate log prefix to force snapshot installation to node 2 when
its storages will be cleared on startup.
// This also causes flushes of both MV and TxState storages, so, after
we simulate non-finished rebalance in either MV or
// TX state storage and restart node 2, the corresponding storage data
will not be rewritten by reapplying the log.
- truncateLogPrefixOnAllNodes(cluster.solePartitionId(ZONE_NAME,
TABLE_NAME));
+ truncateLogPrefixOnAllNodes(cluster.solePartitionId(ZONE_NAME));
Path node2PartitionsDbPath =
unwrapIgniteImpl(cluster.node(2)).partitionsWorkDir().dbPath();
diff --git
a/modules/raft/src/integrationTest/java/org/apache/ignite/internal/raftsnapshot/ItParallelRaftSnapshotsTest.java
b/modules/raft/src/integrationTest/java/org/apache/ignite/internal/raftsnapshot/ItParallelRaftSnapshotsTest.java
index b395cbd0949..aeed8b3dee9 100644
---
a/modules/raft/src/integrationTest/java/org/apache/ignite/internal/raftsnapshot/ItParallelRaftSnapshotsTest.java
+++
b/modules/raft/src/integrationTest/java/org/apache/ignite/internal/raftsnapshot/ItParallelRaftSnapshotsTest.java
@@ -69,7 +69,7 @@ class ItParallelRaftSnapshotsTest extends
ClusterPerTestIntegrationTest {
void testSnapshotStreamingToMultipleNodes() {
createZoneAndTable(ZONE_NAME, TABLE_NAME, 1, initialNodes());
- ReplicationGroupId groupId = cluster.solePartitionId(ZONE_NAME,
TABLE_NAME);
+ ReplicationGroupId groupId = cluster.solePartitionId(ZONE_NAME);
int primaryReplicaIndex = primaryReplicaIndex(groupId);
diff --git
a/modules/raft/src/integrationTest/java/org/apache/ignite/internal/raftsnapshot/ItTableRaftSnapshotsTest.java
b/modules/raft/src/integrationTest/java/org/apache/ignite/internal/raftsnapshot/ItTableRaftSnapshotsTest.java
index 5f12e28d7e5..0fd4552c8fa 100644
---
a/modules/raft/src/integrationTest/java/org/apache/ignite/internal/raftsnapshot/ItTableRaftSnapshotsTest.java
+++
b/modules/raft/src/integrationTest/java/org/apache/ignite/internal/raftsnapshot/ItTableRaftSnapshotsTest.java
@@ -74,6 +74,7 @@ import org.apache.ignite.internal.placementdriver.ReplicaMeta;
import org.apache.ignite.internal.raft.server.RaftServer;
import org.apache.ignite.internal.raft.server.impl.JraftServerImpl;
import org.apache.ignite.internal.replicator.ReplicationGroupId;
+import org.apache.ignite.internal.replicator.ZonePartitionId;
import org.apache.ignite.internal.replicator.command.SafeTimeSyncCommand;
import org.apache.ignite.internal.storage.MvPartitionStorage;
import
org.apache.ignite.internal.storage.pagememory.PersistentPageMemoryStorageEngine;
@@ -320,7 +321,7 @@ class ItTableRaftSnapshotsTest extends
ClusterPerTestIntegrationTest {
IgniteImpl node = unwrapIgniteImpl(cluster.node(0));
CompletableFuture<ReplicaMeta> primary =
node.placementDriver().awaitPrimaryReplica(
- cluster.solePartitionId(TEST_ZONE_NAME, TEST_TABLE_NAME),
+ cluster.solePartitionId(TEST_ZONE_NAME),
node.clockService().now(),
AWAIT_PRIMARY_REPLICA_SECONDS,
TimeUnit.SECONDS);
@@ -394,7 +395,7 @@ class ItTableRaftSnapshotsTest extends
ClusterPerTestIntegrationTest {
* Causes a RAFT snapshot to be taken on the RAFT leader of the sole table
partition that exists in the cluster.
*/
private void doSnapshotOnSolePartitionLeader(int expectedLeaderNodeIndex,
boolean forced) throws Exception {
- ReplicationGroupId replicationGroupId =
cluster.solePartitionId(TEST_ZONE_NAME, TEST_TABLE_NAME);
+ ZonePartitionId replicationGroupId =
cluster.solePartitionId(TEST_ZONE_NAME);
doSnapshotOnLeader(replicationGroupId, expectedLeaderNodeIndex,
forced);
}
@@ -404,7 +405,7 @@ class ItTableRaftSnapshotsTest extends
ClusterPerTestIntegrationTest {
* partition that exists in the cluster.
*/
private void doSnapshotOnSolePartition(int nodeIndex, boolean forced) {
- ReplicationGroupId replicationGroupId =
cluster.solePartitionId(TEST_ZONE_NAME, TEST_TABLE_NAME);
+ ZonePartitionId replicationGroupId =
cluster.solePartitionId(TEST_ZONE_NAME);
doSnapshotOn(replicationGroupId, nodeIndex, forced);
}
@@ -475,11 +476,11 @@ class ItTableRaftSnapshotsTest extends
ClusterPerTestIntegrationTest {
}
private void transferLeadershipOnSolePartitionTo(int nodeIndex) throws
InterruptedException {
- cluster.transferLeadershipTo(nodeIndex,
cluster.solePartitionId(TEST_ZONE_NAME, TEST_TABLE_NAME));
+ cluster.transferLeadershipTo(nodeIndex,
cluster.solePartitionId(TEST_ZONE_NAME));
}
- private void transferPrimaryOnSolePartitionTo(int nodeIndex) throws
InterruptedException {
- cluster.transferPrimaryTo(nodeIndex,
cluster.solePartitionId(TEST_ZONE_NAME, TEST_TABLE_NAME));
+ private void transferPrimaryOnSolePartitionTo(int nodeIndex) {
+ cluster.transferPrimaryTo(nodeIndex,
cluster.solePartitionId(TEST_ZONE_NAME));
}
/**
@@ -972,7 +973,7 @@ class ItTableRaftSnapshotsTest extends
ClusterPerTestIntegrationTest {
BlockingAppendEntriesRequestProcessor blockingProcessor = new
BlockingAppendEntriesRequestProcessor(
appenderExecutor,
raftMessagesFactory,
- cluster.solePartitionId(TEST_ZONE_NAME,
TEST_TABLE_NAME).toString()
+ cluster.solePartitionId(TEST_ZONE_NAME).toString()
);
rpcServer.registerProcessor(blockingProcessor);
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/ItTruncateRaftLogAndRestartNodesTest.java
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/ItTruncateRaftLogAndRestartNodesTest.java
index 955b83a8c36..434d36b7be4 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/ItTruncateRaftLogAndRestartNodesTest.java
+++
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/ItTruncateRaftLogAndRestartNodesTest.java
@@ -56,6 +56,7 @@ import
org.apache.ignite.internal.raft.storage.LogStorageFactory;
import org.apache.ignite.internal.raft.storage.impl.IgniteJraftServiceFactory;
import org.apache.ignite.internal.raft.util.SharedLogStorageFactoryUtils;
import org.apache.ignite.internal.replicator.ReplicationGroupId;
+import org.apache.ignite.internal.replicator.ZonePartitionId;
import org.apache.ignite.internal.schema.BinaryRow;
import org.apache.ignite.internal.schema.Column;
import org.apache.ignite.internal.schema.SchemaDescriptor;
@@ -104,12 +105,12 @@ public class ItTruncateRaftLogAndRestartNodesTest extends
ClusterPerTestIntegrat
createZoneAndTablePerson(ZONE_NAME, TABLE_NAME, 3, 1);
- cluster.transferLeadershipTo(2, cluster.solePartitionId(ZONE_NAME,
TABLE_NAME));
+ cluster.transferLeadershipTo(2, cluster.solePartitionId(ZONE_NAME));
var closableResources = new ArrayList<ManuallyCloseable>();
try {
- ReplicationGroupId replicationGroup =
cluster.solePartitionId(ZONE_NAME, TABLE_NAME);
+ ZonePartitionId replicationGroup =
cluster.solePartitionId(ZONE_NAME);
TestLogStorageFactory testLogStorageFactoryNode0 =
createTestLogStorageFactory(0, replicationGroup);
@@ -143,7 +144,7 @@ public class ItTruncateRaftLogAndRestartNodesTest extends
ClusterPerTestIntegrat
startNodes(0, 1);
- awaitMajority(cluster.solePartitionId(ZONE_NAME, TABLE_NAME));
+ awaitMajority(cluster.solePartitionId(ZONE_NAME));
startNode(2);
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItIgniteNodeRestartTest.java
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItIgniteNodeRestartTest.java
index a6fea0437b8..1d721e28ec2 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItIgniteNodeRestartTest.java
+++
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItIgniteNodeRestartTest.java
@@ -584,12 +584,10 @@ public class ItIgniteNodeRestartTest extends
BaseIgniteRestartTest {
topologyAwareRaftGroupServiceFactory,
clockService,
failureProcessor,
- nodeProperties,
clusterConfigRegistry.getConfiguration(ReplicationExtensionConfiguration.KEY).replication(),
threadPoolsManager.commonScheduler(),
metricManager,
- zoneId -> completedFuture(Set.of()),
- zoneId -> null
+ zoneId -> completedFuture(Set.of())
);
ReplicaManager replicaMgr = new ReplicaManager(
@@ -751,7 +749,6 @@ public class ItIgniteNodeRestartTest extends
BaseIgniteRestartTest {
clusterSvc.topologyService(),
lowWatermark,
failureProcessor,
- nodeProperties,
threadPoolsManager.tableIoExecutor(),
threadPoolsManager.rebalanceScheduler(),
threadPoolsManager.partitionOperationsExecutor(),
@@ -803,7 +800,6 @@ public class ItIgniteNodeRestartTest extends
BaseIgniteRestartTest {
indexMetaStorage,
partitionsLogStorageFactory,
partitionReplicaLifecycleListener,
- nodeProperties,
minTimeCollectorService,
systemDistributedConfiguration,
metricManager,
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/schemasync/ItSchemaSyncAndReplicationTest.java
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/schemasync/ItSchemaSyncAndReplicationTest.java
index c216102f31a..3fdc4a857fe 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/schemasync/ItSchemaSyncAndReplicationTest.java
+++
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/schemasync/ItSchemaSyncAndReplicationTest.java
@@ -35,7 +35,7 @@ import
org.apache.ignite.internal.ClusterPerTestIntegrationTest;
import org.apache.ignite.internal.app.IgniteImpl;
import org.apache.ignite.internal.metastorage.server.WatchListenerInhibitor;
import org.apache.ignite.internal.metastorage.server.raft.MetastorageGroupId;
-import org.apache.ignite.internal.replicator.ReplicationGroupId;
+import org.apache.ignite.internal.replicator.ZonePartitionId;
import org.apache.ignite.internal.storage.MvPartitionStorage;
import org.apache.ignite.internal.storage.RowId;
import org.apache.ignite.internal.table.TableViewInternal;
@@ -120,7 +120,7 @@ class ItSchemaSyncAndReplicationTest extends
ClusterPerTestIntegrationTest {
private void transferLeadershipsTo(int nodeIndex) throws
InterruptedException {
cluster.transferLeadershipTo(nodeIndex, MetastorageGroupId.INSTANCE);
- ReplicationGroupId solePartitionId =
cluster.solePartitionId(ZONE_NAME, TABLE_NAME);
+ ZonePartitionId solePartitionId = cluster.solePartitionId(ZONE_NAME);
cluster.transferLeadershipTo(nodeIndex, solePartitionId);
cluster.transferPrimaryTo(nodeIndex, solePartitionId);
}
diff --git
a/modules/runner/src/main/java/org/apache/ignite/internal/app/IgniteImpl.java
b/modules/runner/src/main/java/org/apache/ignite/internal/app/IgniteImpl.java
index a4c140fbabe..122ce290a7a 100644
---
a/modules/runner/src/main/java/org/apache/ignite/internal/app/IgniteImpl.java
+++
b/modules/runner/src/main/java/org/apache/ignite/internal/app/IgniteImpl.java
@@ -71,7 +71,6 @@ import org.apache.ignite.internal.catalog.CatalogManagerImpl;
import org.apache.ignite.internal.catalog.compaction.CatalogCompactionRunner;
import
org.apache.ignite.internal.catalog.configuration.SchemaSynchronizationConfiguration;
import
org.apache.ignite.internal.catalog.configuration.SchemaSynchronizationExtensionConfiguration;
-import org.apache.ignite.internal.catalog.descriptors.CatalogTableDescriptor;
import org.apache.ignite.internal.catalog.sql.IgniteCatalogSqlImpl;
import org.apache.ignite.internal.catalog.storage.UpdateLogImpl;
import org.apache.ignite.internal.cluster.management.ClusterInitializer;
@@ -887,15 +886,10 @@ public class IgniteImpl implements Ignite {
topologyAwareRaftGroupServiceFactory,
clockService,
failureManager,
- nodeProperties,
replicationConfig,
threadPoolsManager.commonScheduler(),
metricManager,
- zoneId -> distributionZoneManager().currentDataNodes(zoneId),
- tableId -> {
- CatalogTableDescriptor table =
catalogManager.activeCatalog(clock.now().longValue()).table(tableId);
- return table == null ? null : table.zoneId();
- }
+ zoneId -> distributionZoneManager().currentDataNodes(zoneId)
);
TransactionConfiguration txConfig =
clusterConfigRegistry.getConfiguration(TransactionExtensionConfiguration.KEY).transaction();
@@ -1007,7 +1001,6 @@ public class IgniteImpl implements Ignite {
catalogManager,
systemDistributedConfiguration,
clockService,
- nodeProperties,
metricManager,
lowWatermark
);
@@ -1087,7 +1080,6 @@ public class IgniteImpl implements Ignite {
clusterSvc.topologyService(),
lowWatermark,
failureManager,
- nodeProperties,
threadPoolsManager.tableIoExecutor(),
threadPoolsManager.rebalanceScheduler(),
threadPoolsManager.partitionOperationsExecutor(),
@@ -1156,7 +1148,6 @@ public class IgniteImpl implements Ignite {
indexMetaStorage,
partitionsLogStorageFactory,
partitionReplicaLifecycleManager,
- nodeProperties,
minTimeCollectorService,
systemDistributedConfiguration,
metricManager,
@@ -1315,7 +1306,6 @@ public class IgniteImpl implements Ignite {
placementDriverMgr.placementDriver(),
clientConnectorConfiguration,
lowWatermark,
- nodeProperties,
threadPoolsManager.partitionOperationsExecutor(),
() ->
suggestionsConfiguration.sequentialDdlExecution().enabled().value()
);
diff --git
a/modules/runner/src/testFixtures/java/org/apache/ignite/internal/Cluster.java
b/modules/runner/src/testFixtures/java/org/apache/ignite/internal/Cluster.java
index 0caf1541776..a711846c4dd 100644
---
a/modules/runner/src/testFixtures/java/org/apache/ignite/internal/Cluster.java
+++
b/modules/runner/src/testFixtures/java/org/apache/ignite/internal/Cluster.java
@@ -23,11 +23,9 @@ import static java.util.stream.Collectors.toList;
import static java.util.stream.Collectors.toMap;
import static org.apache.ignite.internal.ClusterConfiguration.configOverrides;
import static
org.apache.ignite.internal.ClusterConfiguration.containsOverrides;
-import static
org.apache.ignite.internal.ReplicationGroupsUtils.tablePartitionIds;
import static
org.apache.ignite.internal.ReplicationGroupsUtils.zonePartitionIds;
import static org.apache.ignite.internal.TestWrappers.unwrapIgniteImpl;
import static org.apache.ignite.internal.lang.IgniteStringFormatter.format;
-import static
org.apache.ignite.internal.lang.IgniteSystemProperties.colocationEnabled;
import static
org.apache.ignite.internal.testframework.IgniteTestUtils.waitForCondition;
import static
org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.willCompleteSuccessfully;
import static org.apache.ignite.internal.util.CollectionUtils.setListAtIndex;
@@ -66,7 +64,6 @@ import org.apache.ignite.InitParameters;
import org.apache.ignite.InitParametersBuilder;
import org.apache.ignite.internal.app.IgniteImpl;
import org.apache.ignite.internal.catalog.Catalog;
-import org.apache.ignite.internal.catalog.descriptors.CatalogTableDescriptor;
import org.apache.ignite.internal.catalog.descriptors.CatalogZoneDescriptor;
import org.apache.ignite.internal.lang.IgniteBiTuple;
import org.apache.ignite.internal.logger.IgniteLogger;
@@ -75,7 +72,7 @@ import org.apache.ignite.internal.network.NetworkMessage;
import org.apache.ignite.internal.placementdriver.ReplicaMeta;
import org.apache.ignite.internal.raft.server.impl.JraftServerImpl;
import org.apache.ignite.internal.replicator.ReplicationGroupId;
-import org.apache.ignite.internal.sql.SqlCommon;
+import org.apache.ignite.internal.replicator.ZonePartitionId;
import org.apache.ignite.internal.table.NodeUtils;
import org.apache.ignite.internal.testframework.TestIgnitionManager;
import org.apache.ignite.raft.jraft.Node;
@@ -875,17 +872,14 @@ public class Cluster {
* Returns the ID of the sole partition that exists in the cluster or
throws if there are less than one
* or more than one partitions.
*/
- public ReplicationGroupId solePartitionId(String zoneName, String
tableName) {
+ public ZonePartitionId solePartitionId(String zoneName) {
IgniteImpl node = unwrapIgniteImpl(aliveNode());
Catalog catalog =
node.catalogManager().catalog(node.catalogManager().latestCatalogVersion());
CatalogZoneDescriptor zoneDescriptor =
catalog.zone(zoneName.toUpperCase());
- CatalogTableDescriptor tableDescriptor =
catalog.table(SqlCommon.DEFAULT_SCHEMA_NAME, tableName.toUpperCase());
- List<? extends ReplicationGroupId> replicationGroupIds =
colocationEnabled()
- ? zonePartitionIds(unwrapIgniteImpl(aliveNode()),
zoneDescriptor.id())
- : tablePartitionIds(unwrapIgniteImpl(aliveNode()),
tableDescriptor.id());
+ List<ZonePartitionId> replicationGroupIds =
zonePartitionIds(unwrapIgniteImpl(aliveNode()), zoneDescriptor.id());
assertThat(replicationGroupIds.size(), is(1));
diff --git
a/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItTxObservableTimePropagationTest.java
b/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItTxObservableTimePropagationTest.java
index 0629a249eb4..b71e53c6cd5 100644
---
a/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItTxObservableTimePropagationTest.java
+++
b/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItTxObservableTimePropagationTest.java
@@ -36,7 +36,7 @@ import
org.apache.ignite.internal.partition.replicator.raft.ZonePartitionRaftLis
import org.apache.ignite.internal.raft.Loza;
import org.apache.ignite.internal.raft.server.impl.JraftServerImpl;
import
org.apache.ignite.internal.raft.server.impl.JraftServerImpl.DelegatingStateMachine;
-import org.apache.ignite.internal.replicator.ReplicationGroupId;
+import org.apache.ignite.internal.replicator.ZonePartitionId;
import org.apache.ignite.internal.table.TxInfrastructureTest;
import org.apache.ignite.internal.testframework.IgniteTestUtils;
import org.apache.ignite.internal.testframework.SystemPropertiesExtension;
@@ -110,7 +110,7 @@ public class ItTxObservableTimePropagationTest extends
TxInfrastructureTest {
assertTrue(commitTs.compareTo(new
HybridTimestamp(CLIENT_FROZEN_PHYSICAL_TIME, 0)) > 0, "Observable timestamp
should be advanced");
- ReplicationGroupId part = replicationGroupId(accounts, 0);
+ ZonePartitionId part = replicationGroupId(accounts, 0);
NodeImpl[] handle = {null};
NodeImpl[] leader = {null};
diff --git
a/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/TableManager.java
b/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/TableManager.java
index 212d1304ba9..6dd39e49f73 100644
---
a/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/TableManager.java
+++
b/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/TableManager.java
@@ -43,7 +43,6 @@ import static
org.apache.ignite.internal.util.CompletableFutures.copyStateTo;
import static
org.apache.ignite.internal.util.CompletableFutures.emptyListCompletedFuture;
import static
org.apache.ignite.internal.util.CompletableFutures.falseCompletedFuture;
import static
org.apache.ignite.internal.util.CompletableFutures.nullCompletedFuture;
-import static
org.apache.ignite.internal.util.CompletableFutures.trueCompletedFuture;
import static org.apache.ignite.internal.util.ExceptionUtils.hasCause;
import static org.apache.ignite.internal.util.ExceptionUtils.sneakyThrow;
import static org.apache.ignite.internal.util.IgniteUtils.closeAllManually;
@@ -91,7 +90,6 @@ import
org.apache.ignite.internal.causality.IncrementalVersionedValue;
import org.apache.ignite.internal.causality.OutdatedTokenException;
import org.apache.ignite.internal.causality.RevisionListenerRegistry;
import org.apache.ignite.internal.components.LogSyncer;
-import org.apache.ignite.internal.components.NodeProperties;
import org.apache.ignite.internal.configuration.SystemDistributedConfiguration;
import
org.apache.ignite.internal.configuration.utils.SystemDistributedConfigurationPropertyHolder;
import org.apache.ignite.internal.distributionzones.DistributionZonesUtil;
@@ -331,8 +329,6 @@ public class TableManager implements IgniteTablesInternal,
IgniteComponent {
private final PartitionReplicaLifecycleManager
partitionReplicaLifecycleManager;
- private final NodeProperties nodeProperties;
-
@Nullable
private ScheduledExecutorService streamerFlushExecutor;
@@ -433,7 +429,6 @@ public class TableManager implements IgniteTablesInternal,
IgniteComponent {
IndexMetaStorage indexMetaStorage,
LogSyncer logSyncer,
PartitionReplicaLifecycleManager partitionReplicaLifecycleManager,
- NodeProperties nodeProperties,
MinimumRequiredTimeCollectorService minTimeCollectorService,
SystemDistributedConfiguration systemDistributedConfiguration,
MetricManager metricManager,
@@ -463,7 +458,6 @@ public class TableManager implements IgniteTablesInternal,
IgniteComponent {
this.nodeName = nodeName;
this.indexMetaStorage = indexMetaStorage;
this.partitionReplicaLifecycleManager =
partitionReplicaLifecycleManager;
- this.nodeProperties = nodeProperties;
this.minTimeCollectorService = minTimeCollectorService;
this.metricManager = metricManager;
this.partitionModificationCounterFactory =
partitionModificationCounterFactory;
@@ -1590,34 +1584,20 @@ public class TableManager implements
IgniteTablesInternal, IgniteComponent {
* @return Future that will be completed after all resources have been
closed.
*/
private CompletableFuture<Void> stopTablePartition(TablePartitionId
tablePartitionId, TableViewInternal table) {
- CompletableFuture<Boolean> stopReplicaFuture;
+ // In case of colocation there shouldn't be any table replica and thus
it shouldn't be stopped.
+ minTimeCollectorService.removePartition(tablePartitionId);
- try {
- // In case of colocation there shouldn't be any table replica and
thus it shouldn't be stopped.
- stopReplicaFuture = nodeProperties.colocationEnabled()
- ? trueCompletedFuture()
- : replicaMgr.stopReplica(tablePartitionId);
- } catch (NodeStoppingException e) {
- // No-op.
- stopReplicaFuture = falseCompletedFuture();
+ PartitionModificationCounterMetricSource metricSource =
partModCounterMetricSources.remove(tablePartitionId);
+ if (metricSource != null) {
+ try {
+ metricManager.unregisterSource(metricSource);
+ } catch (Exception e) {
+ String message = "Failed to unregister metrics source for
table [name={}, partitionId={}].";
+ LOG.warn(message, e, table.name(),
tablePartitionId.partitionId());
+ }
}
- return stopReplicaFuture
- .thenCompose(v -> {
- minTimeCollectorService.removePartition(tablePartitionId);
-
- PartitionModificationCounterMetricSource metricSource =
partModCounterMetricSources.remove(tablePartitionId);
- if (metricSource != null) {
- try {
- metricManager.unregisterSource(metricSource);
- } catch (Exception e) {
- String message = "Failed to register metrics
source for table [name={}, partitionId={}].";
- LOG.warn(message, e, table.name(),
tablePartitionId.partitionId());
- }
- }
-
- return mvGc.removeStorage(tablePartitionId);
- });
+ return mvGc.removeStorage(tablePartitionId);
}
private CompletableFuture<Void> destroyPartitionStorages(
diff --git
a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/TableManagerRecoveryTest.java
b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/TableManagerRecoveryTest.java
index c4a119dfb09..8411e44da1b 100644
---
a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/TableManagerRecoveryTest.java
+++
b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/TableManagerRecoveryTest.java
@@ -82,7 +82,6 @@ import
org.apache.ignite.internal.catalog.descriptors.CatalogZoneDescriptor;
import
org.apache.ignite.internal.cluster.management.ClusterManagementGroupManager;
import org.apache.ignite.internal.components.LogSyncer;
import org.apache.ignite.internal.components.LongJvmPauseDetector;
-import org.apache.ignite.internal.components.SystemPropertiesNodeProperties;
import org.apache.ignite.internal.configuration.ConfigurationRegistry;
import org.apache.ignite.internal.configuration.NodeConfiguration;
import org.apache.ignite.internal.configuration.SystemDistributedConfiguration;
@@ -534,7 +533,6 @@ public class TableManagerRecoveryTest extends
IgniteAbstractTest {
topologyService,
lowWatermark,
failureProcessor,
- new SystemPropertiesNodeProperties(),
ForkJoinPool.commonPool(),
mock(ScheduledExecutorService.class),
partitionOperationsExecutor,
@@ -586,7 +584,6 @@ public class TableManagerRecoveryTest extends
IgniteAbstractTest {
indexMetaStorage,
logSyncer,
partitionReplicaLifecycleManager,
- new SystemPropertiesNodeProperties(),
minTimeCollectorService,
systemDistributedConfiguration,
metricManager,
diff --git
a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/TableManagerTest.java
b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/TableManagerTest.java
index ba107d1c719..b4d367fbbcd 100644
---
a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/TableManagerTest.java
+++
b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/TableManagerTest.java
@@ -68,13 +68,11 @@ import
org.apache.ignite.internal.catalog.descriptors.CatalogTableDescriptor;
import org.apache.ignite.internal.catalog.descriptors.CatalogZoneDescriptor;
import org.apache.ignite.internal.causality.RevisionListenerRegistry;
import org.apache.ignite.internal.components.LogSyncer;
-import org.apache.ignite.internal.components.SystemPropertiesNodeProperties;
import org.apache.ignite.internal.configuration.ConfigurationRegistry;
import org.apache.ignite.internal.configuration.NodeConfiguration;
import org.apache.ignite.internal.configuration.SystemDistributedConfiguration;
import
org.apache.ignite.internal.configuration.testframework.ConfigurationExtension;
import
org.apache.ignite.internal.configuration.testframework.InjectConfiguration;
-import org.apache.ignite.internal.distributionzones.DistributionZoneManager;
import org.apache.ignite.internal.distributionzones.DistributionZonesTestUtil;
import org.apache.ignite.internal.failure.FailureManager;
import org.apache.ignite.internal.failure.NoOpFailureManager;
@@ -213,9 +211,6 @@ public class TableManagerTest extends IgniteAbstractTest {
private SchemaManager sm;
- @Mock
- private DistributionZoneManager distributionZoneManager;
-
/** Test node. */
private final InternalClusterNode node = new ClusterNodeImpl(
UUID.randomUUID(),
@@ -604,7 +599,6 @@ public class TableManagerTest extends IgniteAbstractTest {
indexMetaStorage,
logSyncer,
partitionReplicaLifecycleManager,
- new SystemPropertiesNodeProperties(),
new MinimumRequiredTimeCollectorServiceImpl(),
systemDistributedConfiguration,
new NoOpMetricManager(),
diff --git
a/modules/table/src/testFixtures/java/org/apache/ignite/internal/table/TxAbstractTest.java
b/modules/table/src/testFixtures/java/org/apache/ignite/internal/table/TxAbstractTest.java
index 6a6ab466d8f..a8eda99eb62 100644
---
a/modules/table/src/testFixtures/java/org/apache/ignite/internal/table/TxAbstractTest.java
+++
b/modules/table/src/testFixtures/java/org/apache/ignite/internal/table/TxAbstractTest.java
@@ -20,7 +20,6 @@ package org.apache.ignite.internal.table;
import static java.util.concurrent.CompletableFuture.allOf;
import static java.util.concurrent.CompletableFuture.completedFuture;
import static java.util.stream.Collectors.toList;
-import static
org.apache.ignite.internal.lang.IgniteSystemProperties.colocationEnabled;
import static
org.apache.ignite.internal.testframework.IgniteTestUtils.assertThrowsWithCause;
import static
org.apache.ignite.internal.testframework.IgniteTestUtils.assertThrowsWithCode;
import static
org.apache.ignite.internal.testframework.IgniteTestUtils.waitForCondition;
@@ -1471,7 +1470,7 @@ public abstract class TxAbstractTest extends
TxInfrastructureTest {
ReplicaTestUtils.leaderAssignment(
txTestCluster.replicaManagers().get(txTestCluster.localNodeName()),
txTestCluster.clusterServices().get(txTestCluster.localNodeName()).topologyService(),
- colocationEnabled() ? internalTable.zoneId() :
internalTable.tableId(),
+ internalTable.zoneId(),
0
),
OperationContext.create(TxContext.readOnly(internalTx))
diff --git
a/modules/table/src/testFixtures/java/org/apache/ignite/internal/table/TxInfrastructureTest.java
b/modules/table/src/testFixtures/java/org/apache/ignite/internal/table/TxInfrastructureTest.java
index 9a4cb38b1f0..cb947cf4627 100644
---
a/modules/table/src/testFixtures/java/org/apache/ignite/internal/table/TxInfrastructureTest.java
+++
b/modules/table/src/testFixtures/java/org/apache/ignite/internal/table/TxInfrastructureTest.java
@@ -17,7 +17,6 @@
package org.apache.ignite.internal.table;
-import static
org.apache.ignite.internal.lang.IgniteSystemProperties.colocationEnabled;
import static
org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.willCompleteSuccessfully;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -48,9 +47,7 @@ import org.apache.ignite.internal.raft.RaftNodeId;
import org.apache.ignite.internal.raft.configuration.RaftConfiguration;
import org.apache.ignite.internal.raft.server.impl.JraftServerImpl;
import org.apache.ignite.internal.replicator.ReplicaService;
-import org.apache.ignite.internal.replicator.ReplicationGroupId;
import org.apache.ignite.internal.replicator.ReplicatorConstants;
-import org.apache.ignite.internal.replicator.TablePartitionId;
import org.apache.ignite.internal.replicator.ZonePartitionId;
import
org.apache.ignite.internal.replicator.configuration.ReplicationConfiguration;
import org.apache.ignite.internal.schema.Column;
@@ -299,12 +296,8 @@ public abstract class TxInfrastructureTest extends
IgniteAbstractTest {
var fsm = (JraftServerImpl.DelegatingStateMachine)
grp.getRaftNode().getOptions().getFsm();
- TablePartitionProcessor listener;
- if (colocationEnabled()) {
- listener = (TablePartitionProcessor)
((ZonePartitionRaftListener) fsm.getListener()).tableProcessor(table.tableId());
- } else {
- listener = (TablePartitionProcessor) fsm.getListener();
- }
+ TablePartitionProcessor listener = (TablePartitionProcessor)
((ZonePartitionRaftListener) fsm.getListener())
+ .tableProcessor(table.tableId());
MvPartitionStorage storage = listener.getMvStorage();
@@ -381,9 +374,7 @@ public abstract class TxInfrastructureTest extends
IgniteAbstractTest {
return Tuple.create().set("name", name);
}
- // TODO https://issues.apache.org/jira/browse/IGNITE-22522 Remove
TablePartitionId part.
- protected static ReplicationGroupId replicationGroupId(TableViewInternal
tableViewInternal, int partitionIndex) {
- return colocationEnabled() ? new
ZonePartitionId(tableViewInternal.internalTable().zoneId(), partitionIndex) :
- new TablePartitionId(tableViewInternal.tableId(),
partitionIndex);
+ protected static ZonePartitionId replicationGroupId(TableViewInternal
tableViewInternal, int partitionIndex) {
+ return new ZonePartitionId(tableViewInternal.internalTable().zoneId(),
partitionIndex);
}
}