Skip to content

Commit 994b803

Browse files
authored
IGNITE-28397 Remove IgniteDhtPartitionsToReloadMap (#12957)
1 parent b09fa6d commit 994b803

7 files changed

Lines changed: 24 additions & 97 deletions

File tree

modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -191,8 +191,6 @@
191191
import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.IgniteDhtDemandedPartitionsMapSerializer;
192192
import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.IgniteDhtPartitionHistorySuppliersMap;
193193
import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.IgniteDhtPartitionHistorySuppliersMapSerializer;
194-
import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.IgniteDhtPartitionsToReloadMap;
195-
import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.IgniteDhtPartitionsToReloadMapSerializer;
196194
import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.latch.LatchAckMessage;
197195
import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.latch.LatchAckMessageSerializer;
198196
import org.apache.ignite.internal.processors.cache.distributed.near.CacheVersionedValue;
@@ -551,8 +549,6 @@ public GridIoMessageFactory(Marshaller marsh, ClassLoader clsLdr) {
551549
factory.register(508, GroupPartitionIdPair::new, new GroupPartitionIdPairSerializer());
552550
factory.register(510, IgniteDhtPartitionHistorySuppliersMap::new,
553551
new IgniteDhtPartitionHistorySuppliersMapSerializer());
554-
factory.register(513, IgniteDhtPartitionsToReloadMap::new,
555-
new IgniteDhtPartitionsToReloadMapSerializer());
556552
factory.register(517, GridPartitionStateMap::new, new GridPartitionStateMapSerializer());
557553
factory.register(518, GridDhtPartitionMap::new, new GridDhtPartitionMapSerializer());
558554
factory.register(519, GridDhtPartitionFullMap::new, new GridDhtPartitionFullMapSerializer());

modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,6 @@
8888
import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsSingleMessage;
8989
import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsSingleRequest;
9090
import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.IgniteDhtPartitionHistorySuppliersMap;
91-
import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.IgniteDhtPartitionsToReloadMap;
9291
import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.PartitionsExchangeAware;
9392
import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.RebalanceReassignExchangeTask;
9493
import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.StopCachesOnClientReconnectExchangeTask;
@@ -1350,7 +1349,7 @@ public GridDhtPartitionsFullMessage createPartitionsFullMessage(
13501349
@Nullable final GridDhtPartitionExchangeId exchId,
13511350
@Nullable GridCacheVersion lastVer,
13521351
@Nullable IgniteDhtPartitionHistorySuppliersMap partHistSuppliers,
1353-
@Nullable IgniteDhtPartitionsToReloadMap partsToReload
1352+
@Nullable Map<UUID, Map<Integer, Set<Integer>>> partsToReload
13541353
) {
13551354
Collection<CacheGroupContext> grps = cctx.cache().cacheGroups();
13561355

@@ -1371,7 +1370,7 @@ public GridDhtPartitionsFullMessage createPartitionsFullMessage(
13711370
@Nullable final GridDhtPartitionExchangeId exchId,
13721371
@Nullable GridCacheVersion lastVer,
13731372
@Nullable IgniteDhtPartitionHistorySuppliersMap partHistSuppliers,
1374-
@Nullable IgniteDhtPartitionsToReloadMap partsToReload,
1373+
@Nullable Map<UUID, Map<Integer, Set<Integer>>> partsToReload,
13751374
Collection<CacheGroupContext> grps
13761375
) {
13771376
AffinityTopologyVersion ver = exchId != null ? exchId.topologyVersion() : AffinityTopologyVersion.NONE;

modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -340,7 +340,7 @@ public class GridDhtPartitionsExchangeFuture extends GridDhtTopologyFutureAdapte
340340

341341
/** */
342342
@GridToStringExclude
343-
private final IgniteDhtPartitionsToReloadMap partsToReload = new IgniteDhtPartitionsToReloadMap();
343+
private final Map<UUID, Map<Integer, Set<Integer>>> partsToReload = new HashMap<>();
344344

345345
/** */
346346
private final AtomicBoolean done = new AtomicBoolean();
@@ -3425,8 +3425,15 @@ private void resetOwnersByCounter(GridDhtPartitionTopology top,
34253425
UUID nodeId = e.getKey();
34263426
Set<Integer> parts = e.getValue();
34273427

3428-
for (int part : parts)
3429-
partsToReload.put(nodeId, top.groupId(), part);
3428+
for (int part : parts) {
3429+
synchronized (partsToReload) {
3430+
Map<Integer, Set<Integer>> nodeMap = partsToReload.computeIfAbsent(nodeId, k -> new HashMap<>());
3431+
3432+
Set<Integer> partsToReload = nodeMap.computeIfAbsent(top.groupId(), k -> new HashSet<>());
3433+
3434+
partsToReload.add(part);
3435+
}
3436+
}
34303437
}
34313438
}
34323439

modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsFullMessage.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ public class GridDhtPartitionsFullMessage extends GridDhtPartitionsAbstractMessa
8282
@Order(4)
8383
@Compress
8484
@GridToStringInclude
85-
IgniteDhtPartitionsToReloadMap partsToReload;
85+
Map<UUID, Map<Integer, Set<Integer>>> partsToReload;
8686

8787
/** Partition sizes. */
8888
@Order(5)
@@ -144,7 +144,7 @@ public GridDhtPartitionsFullMessage(@Nullable GridDhtPartitionExchangeId id,
144144
@Nullable GridCacheVersion lastVer,
145145
@NotNull AffinityTopologyVersion topVer,
146146
@Nullable IgniteDhtPartitionHistorySuppliersMap partHistSuppliers,
147-
@Nullable IgniteDhtPartitionsToReloadMap partsToReload) {
147+
@Nullable Map<UUID, Map<Integer, Set<Integer>>> partsToReload) {
148148
super(id, lastVer);
149149

150150
assert id == null || topVer.equals(id.topologyVersion());
@@ -337,7 +337,11 @@ public Set<Integer> partsToReload(UUID nodeId, int grpId) {
337337
if (partsToReload == null)
338338
return Collections.emptySet();
339339

340-
return partsToReload.get(nodeId, grpId);
340+
synchronized (partsToReload) {
341+
Map<Integer, Set<Integer>> nodeMap = partsToReload.get(nodeId);
342+
343+
return nodeMap == null ? Collections.emptySet() : (Set<Integer>)F.emptyIfNull(nodeMap.get(grpId));
344+
}
341345
}
342346

343347
/**
@@ -443,9 +447,6 @@ public void topologyVersion(AffinityTopologyVersion topVer) {
443447
if (partHistSuppliers == null)
444448
partHistSuppliers = new IgniteDhtPartitionHistorySuppliersMap();
445449

446-
if (partsToReload == null)
447-
partsToReload = new IgniteDhtPartitionsToReloadMap();
448-
449450
errs = errMsgs == null ? null : F.viewReadOnly(errMsgs, e -> e.error());
450451
}
451452

modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/IgniteDhtPartitionsToReloadMap.java

Lines changed: 0 additions & 75 deletions
This file was deleted.

modules/core/src/main/resources/META-INF/classnames.properties

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1193,7 +1193,6 @@ org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPre
11931193
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPreloaderAssignments
11941194
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.IgniteDhtDemandedPartitionsMap
11951195
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.IgniteDhtPartitionHistorySuppliersMap
1196-
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.IgniteDhtPartitionsToReloadMap
11971196
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.IgniteHistoricalIterator
11981197
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.IgniteHistoricalIteratorException
11991198
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.IgniteRebalanceIteratorImpl

modules/core/src/test/java/org/apache/ignite/internal/managers/communication/CompressedMessageTest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
package org.apache.ignite.internal.managers.communication;
1919

2020
import java.nio.ByteBuffer;
21+
import java.util.HashMap;
2122
import java.util.Map;
2223
import java.util.Set;
2324
import java.util.UUID;
@@ -29,7 +30,6 @@
2930
import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsFullMessage;
3031
import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GroupPartitionIdPair;
3132
import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.IgniteDhtPartitionHistorySuppliersMap;
32-
import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.IgniteDhtPartitionsToReloadMap;
3333
import org.apache.ignite.internal.util.typedef.internal.U;
3434
import org.apache.ignite.plugin.extensions.communication.Message;
3535
import org.apache.ignite.plugin.extensions.communication.MessageFactory;
@@ -108,13 +108,13 @@ public void testWriteReadHugeMessage() {
108108
/** */
109109
private GridDhtPartitionsFullMessage fullMessage() {
110110
IgniteDhtPartitionHistorySuppliersMap partHistSuppliers = new IgniteDhtPartitionHistorySuppliersMap();
111-
IgniteDhtPartitionsToReloadMap partsToReload = new IgniteDhtPartitionsToReloadMap();
111+
Map<UUID, Map<Integer, Set<Integer>>> partsToReload = new HashMap<>();
112112

113113
for (int i = 0; i < 500; i++) {
114114
UUID uuid = UUID.randomUUID();
115115

116116
partHistSuppliers.put(uuid, i, i + 1, i + 2);
117-
partsToReload.put(uuid, i, i + 1);
117+
partsToReload.put(uuid, Map.of(i, Set.of(i + 1)));
118118
}
119119

120120
return new GridDhtPartitionsFullMessage(null, null, new AffinityTopologyVersion(0), partHistSuppliers, partsToReload);
@@ -130,8 +130,8 @@ private void assertEqualsFullMsg(GridDhtPartitionsFullMessage expected, GridDhtP
130130
for (Map.Entry<UUID, Map<GroupPartitionIdPair, Long>> entry : expHistSuppliers.entrySet())
131131
assertEquals(entry.getValue(), actHistSuppliers.get(entry.getKey()));
132132

133-
Map<UUID, Map<Integer, Set<Integer>>> expPartsToReload = U.field((Object)U.field(expected, "partsToReload"), "map");
134-
Map<UUID, Map<Integer, Set<Integer>>> actPartsToReload = U.field((Object)U.field(actual, "partsToReload"), "map");
133+
Map<UUID, Map<Integer, Set<Integer>>> expPartsToReload = U.field(expected, "partsToReload");
134+
Map<UUID, Map<Integer, Set<Integer>>> actPartsToReload = U.field(actual, "partsToReload");
135135

136136
assertEquals(expPartsToReload.size(), actPartsToReload.size());
137137

0 commit comments

Comments
 (0)