This is an automated email from the ASF dual-hosted git repository.
shishkovilja pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git
The following commit(s) were added to refs/heads/master by this push:
new 994b8033d0d IGNITE-28397 Remove IgniteDhtPartitionsToReloadMap (#12957)
994b8033d0d is described below
commit 994b8033d0da2b278138a7a32e99f2f62b0071b8
Author: Dmitry Werner <[email protected]>
AuthorDate: Mon Apr 6 14:02:51 2026 +0500
IGNITE-28397 Remove IgniteDhtPartitionsToReloadMap (#12957)
---
.../communication/GridIoMessageFactory.java | 4 --
.../cache/GridCachePartitionExchangeManager.java | 5 +-
.../preloader/GridDhtPartitionsExchangeFuture.java | 13 +++-
.../preloader/GridDhtPartitionsFullMessage.java | 13 ++--
.../preloader/IgniteDhtPartitionsToReloadMap.java | 75 ----------------------
.../main/resources/META-INF/classnames.properties | 1 -
.../communication/CompressedMessageTest.java | 10 +--
7 files changed, 24 insertions(+), 97 deletions(-)
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
index 5ca6b39adcc..6eff060a046 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
@@ -191,8 +191,6 @@ import
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.Ign
import
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.IgniteDhtDemandedPartitionsMapSerializer;
import
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.IgniteDhtPartitionHistorySuppliersMap;
import
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.IgniteDhtPartitionHistorySuppliersMapSerializer;
-import
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.IgniteDhtPartitionsToReloadMap;
-import
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.IgniteDhtPartitionsToReloadMapSerializer;
import
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.latch.LatchAckMessage;
import
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.latch.LatchAckMessageSerializer;
import
org.apache.ignite.internal.processors.cache.distributed.near.CacheVersionedValue;
@@ -551,8 +549,6 @@ public class GridIoMessageFactory implements
MessageFactoryProvider {
factory.register(508, GroupPartitionIdPair::new, new
GroupPartitionIdPairSerializer());
factory.register(510, IgniteDhtPartitionHistorySuppliersMap::new,
new IgniteDhtPartitionHistorySuppliersMapSerializer());
- factory.register(513, IgniteDhtPartitionsToReloadMap::new,
- new IgniteDhtPartitionsToReloadMapSerializer());
factory.register(517, GridPartitionStateMap::new, new
GridPartitionStateMapSerializer());
factory.register(518, GridDhtPartitionMap::new, new
GridDhtPartitionMapSerializer());
factory.register(519, GridDhtPartitionFullMap::new, new
GridDhtPartitionFullMapSerializer());
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
index 55ae24bbaa3..c06eeaad393 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
@@ -88,7 +88,6 @@ import
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.Gri
import
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsSingleMessage;
import
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsSingleRequest;
import
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.IgniteDhtPartitionHistorySuppliersMap;
-import
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.IgniteDhtPartitionsToReloadMap;
import
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.PartitionsExchangeAware;
import
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.RebalanceReassignExchangeTask;
import
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.StopCachesOnClientReconnectExchangeTask;
@@ -1350,7 +1349,7 @@ public class GridCachePartitionExchangeManager<K, V>
extends GridCacheSharedMana
@Nullable final GridDhtPartitionExchangeId exchId,
@Nullable GridCacheVersion lastVer,
@Nullable IgniteDhtPartitionHistorySuppliersMap partHistSuppliers,
- @Nullable IgniteDhtPartitionsToReloadMap partsToReload
+ @Nullable Map<UUID, Map<Integer, Set<Integer>>> partsToReload
) {
Collection<CacheGroupContext> grps = cctx.cache().cacheGroups();
@@ -1371,7 +1370,7 @@ public class GridCachePartitionExchangeManager<K, V>
extends GridCacheSharedMana
@Nullable final GridDhtPartitionExchangeId exchId,
@Nullable GridCacheVersion lastVer,
@Nullable IgniteDhtPartitionHistorySuppliersMap partHistSuppliers,
- @Nullable IgniteDhtPartitionsToReloadMap partsToReload,
+ @Nullable Map<UUID, Map<Integer, Set<Integer>>> partsToReload,
Collection<CacheGroupContext> grps
) {
AffinityTopologyVersion ver = exchId != null ?
exchId.topologyVersion() : AffinityTopologyVersion.NONE;
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
index e19ba2378e0..c269af4923e 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
@@ -340,7 +340,7 @@ public class GridDhtPartitionsExchangeFuture extends
GridDhtTopologyFutureAdapte
/** */
@GridToStringExclude
- private final IgniteDhtPartitionsToReloadMap partsToReload = new
IgniteDhtPartitionsToReloadMap();
+ private final Map<UUID, Map<Integer, Set<Integer>>> partsToReload = new
HashMap<>();
/** */
private final AtomicBoolean done = new AtomicBoolean();
@@ -3425,8 +3425,15 @@ public class GridDhtPartitionsExchangeFuture extends
GridDhtTopologyFutureAdapte
UUID nodeId = e.getKey();
Set<Integer> parts = e.getValue();
- for (int part : parts)
- partsToReload.put(nodeId, top.groupId(), part);
+ for (int part : parts) {
+ synchronized (partsToReload) {
+ Map<Integer, Set<Integer>> nodeMap =
partsToReload.computeIfAbsent(nodeId, k -> new HashMap<>());
+
+ Set<Integer> partsToReload =
nodeMap.computeIfAbsent(top.groupId(), k -> new HashSet<>());
+
+ partsToReload.add(part);
+ }
+ }
}
}
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsFullMessage.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsFullMessage.java
index a8076b7a05a..84716df72f2 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsFullMessage.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsFullMessage.java
@@ -82,7 +82,7 @@ public class GridDhtPartitionsFullMessage extends
GridDhtPartitionsAbstractMessa
@Order(4)
@Compress
@GridToStringInclude
- IgniteDhtPartitionsToReloadMap partsToReload;
+ Map<UUID, Map<Integer, Set<Integer>>> partsToReload;
/** Partition sizes. */
@Order(5)
@@ -144,7 +144,7 @@ public class GridDhtPartitionsFullMessage extends
GridDhtPartitionsAbstractMessa
@Nullable GridCacheVersion lastVer,
@NotNull AffinityTopologyVersion topVer,
@Nullable IgniteDhtPartitionHistorySuppliersMap partHistSuppliers,
- @Nullable IgniteDhtPartitionsToReloadMap partsToReload) {
+ @Nullable Map<UUID, Map<Integer, Set<Integer>>> partsToReload) {
super(id, lastVer);
assert id == null || topVer.equals(id.topologyVersion());
@@ -337,7 +337,11 @@ public class GridDhtPartitionsFullMessage extends
GridDhtPartitionsAbstractMessa
if (partsToReload == null)
return Collections.emptySet();
- return partsToReload.get(nodeId, grpId);
+ synchronized (partsToReload) {
+ Map<Integer, Set<Integer>> nodeMap = partsToReload.get(nodeId);
+
+ return nodeMap == null ? Collections.emptySet() :
(Set<Integer>)F.emptyIfNull(nodeMap.get(grpId));
+ }
}
/**
@@ -443,9 +447,6 @@ public class GridDhtPartitionsFullMessage extends
GridDhtPartitionsAbstractMessa
if (partHistSuppliers == null)
partHistSuppliers = new IgniteDhtPartitionHistorySuppliersMap();
- if (partsToReload == null)
- partsToReload = new IgniteDhtPartitionsToReloadMap();
-
errs = errMsgs == null ? null : F.viewReadOnly(errMsgs, e ->
e.error());
}
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/IgniteDhtPartitionsToReloadMap.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/IgniteDhtPartitionsToReloadMap.java
deleted file mode 100644
index d8cc8d9674c..00000000000
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/IgniteDhtPartitionsToReloadMap.java
+++ /dev/null
@@ -1,75 +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.processors.cache.distributed.dht.preloader;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-import java.util.UUID;
-import org.apache.ignite.internal.Order;
-import org.apache.ignite.internal.util.typedef.F;
-import org.apache.ignite.internal.util.typedef.internal.S;
-import org.apache.ignite.plugin.extensions.communication.Message;
-
-/**
- * Partition reload map.
- */
-public class IgniteDhtPartitionsToReloadMap implements Message {
- /** */
- @Order(0)
- Map<UUID, Map<Integer, Set<Integer>>> map;
-
- /**
- * @param nodeId Node ID.
- * @param cacheId Cache ID.
- * @return Set of partitions to reload.
- */
- public synchronized Set<Integer> get(UUID nodeId, int cacheId) {
- if (map == null)
- return Collections.emptySet();
-
- Map<Integer, Set<Integer>> nodeMap = map.get(nodeId);
-
- return nodeMap == null ? Collections.emptySet() :
(Set<Integer>)F.emptyIfNull(nodeMap.get(cacheId));
- }
-
- /**
- * @param nodeId Node ID.
- * @param cacheId Cache ID.
- * @param partId Partition ID.
- */
- public synchronized void put(UUID nodeId, int cacheId, int partId) {
- if (map == null)
- map = new HashMap<>();
-
- Map<Integer, Set<Integer>> nodeMap = map.computeIfAbsent(nodeId, k ->
new HashMap<>());
-
- Set<Integer> parts = nodeMap.computeIfAbsent(cacheId, k -> new
HashSet<>());
-
- parts.add(partId);
- }
-
- /** {@inheritDoc} */
- @Override public String toString() {
- return S.toString(IgniteDhtPartitionsToReloadMap.class, this);
- }
-
-}
diff --git a/modules/core/src/main/resources/META-INF/classnames.properties
b/modules/core/src/main/resources/META-INF/classnames.properties
index 5268663d0da..50848832fe6 100644
--- a/modules/core/src/main/resources/META-INF/classnames.properties
+++ b/modules/core/src/main/resources/META-INF/classnames.properties
@@ -1193,7 +1193,6 @@
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPre
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPreloaderAssignments
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.IgniteDhtDemandedPartitionsMap
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.IgniteDhtPartitionHistorySuppliersMap
-org.apache.ignite.internal.processors.cache.distributed.dht.preloader.IgniteDhtPartitionsToReloadMap
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.IgniteHistoricalIterator
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.IgniteHistoricalIteratorException
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.IgniteRebalanceIteratorImpl
diff --git
a/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/CompressedMessageTest.java
b/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/CompressedMessageTest.java
index fb96d7da32e..8b76d8e2f43 100644
---
a/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/CompressedMessageTest.java
+++
b/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/CompressedMessageTest.java
@@ -18,6 +18,7 @@
package org.apache.ignite.internal.managers.communication;
import java.nio.ByteBuffer;
+import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
@@ -29,7 +30,6 @@ import
org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
import
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsFullMessage;
import
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GroupPartitionIdPair;
import
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.IgniteDhtPartitionHistorySuppliersMap;
-import
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.IgniteDhtPartitionsToReloadMap;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.plugin.extensions.communication.Message;
import org.apache.ignite.plugin.extensions.communication.MessageFactory;
@@ -108,13 +108,13 @@ public class CompressedMessageTest {
/** */
private GridDhtPartitionsFullMessage fullMessage() {
IgniteDhtPartitionHistorySuppliersMap partHistSuppliers = new
IgniteDhtPartitionHistorySuppliersMap();
- IgniteDhtPartitionsToReloadMap partsToReload = new
IgniteDhtPartitionsToReloadMap();
+ Map<UUID, Map<Integer, Set<Integer>>> partsToReload = new HashMap<>();
for (int i = 0; i < 500; i++) {
UUID uuid = UUID.randomUUID();
partHistSuppliers.put(uuid, i, i + 1, i + 2);
- partsToReload.put(uuid, i, i + 1);
+ partsToReload.put(uuid, Map.of(i, Set.of(i + 1)));
}
return new GridDhtPartitionsFullMessage(null, null, new
AffinityTopologyVersion(0), partHistSuppliers, partsToReload);
@@ -130,8 +130,8 @@ public class CompressedMessageTest {
for (Map.Entry<UUID, Map<GroupPartitionIdPair, Long>> entry :
expHistSuppliers.entrySet())
assertEquals(entry.getValue(),
actHistSuppliers.get(entry.getKey()));
- Map<UUID, Map<Integer, Set<Integer>>> expPartsToReload =
U.field((Object)U.field(expected, "partsToReload"), "map");
- Map<UUID, Map<Integer, Set<Integer>>> actPartsToReload =
U.field((Object)U.field(actual, "partsToReload"), "map");
+ Map<UUID, Map<Integer, Set<Integer>>> expPartsToReload =
U.field(expected, "partsToReload");
+ Map<UUID, Map<Integer, Set<Integer>>> actPartsToReload =
U.field(actual, "partsToReload");
assertEquals(expPartsToReload.size(), actPartsToReload.size());