Skip to content

Commit 67ef506

Browse files
IGNITE-26580 Remove equals-based validation from AffinityBackupFilter component
1 parent 9c3d0ff commit 67ef506

File tree

5 files changed

+3
-77
lines changed

5 files changed

+3
-77
lines changed

modules/core/src/main/java/org/apache/ignite/cache/affinity/rendezvous/ClusterNodeAttributeAffinityBackupFilter.java

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717

1818
package org.apache.ignite.cache.affinity.rendezvous;
1919

20-
import java.util.Arrays;
2120
import java.util.List;
2221
import java.util.Objects;
2322
import org.apache.ignite.cluster.ClusterNode;
@@ -137,22 +136,4 @@ public ClusterNodeAttributeAffinityBackupFilter(String... attrNames) {
137136
public String[] getAttributeNames() {
138137
return attrNames.clone();
139138
}
140-
141-
/** {@inheritDoc} */
142-
@Override public boolean equals(Object o) {
143-
if (o == this)
144-
return true;
145-
146-
if (o == null || getClass() != o.getClass())
147-
return false;
148-
149-
ClusterNodeAttributeAffinityBackupFilter other = (ClusterNodeAttributeAffinityBackupFilter)o;
150-
151-
return Arrays.equals(attrNames, other.attrNames);
152-
}
153-
154-
/** {@inheritDoc} */
155-
@Override public int hashCode() {
156-
return Arrays.hashCode(attrNames);
157-
}
158139
}

modules/core/src/main/java/org/apache/ignite/cache/affinity/rendezvous/ClusterNodeAttributeColocatedBackupFilter.java

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -122,22 +122,4 @@ public ClusterNodeAttributeColocatedBackupFilter(String attrName) {
122122

123123
return primaryAttrVal.equals(candidateAttrVal);
124124
}
125-
126-
/** {@inheritDoc} */
127-
@Override public boolean equals(Object o) {
128-
if (o == this)
129-
return true;
130-
131-
if (o == null || getClass() != o.getClass())
132-
return false;
133-
134-
ClusterNodeAttributeColocatedBackupFilter other = (ClusterNodeAttributeColocatedBackupFilter)o;
135-
136-
return attrName.equals(other.attrName);
137-
}
138-
139-
/** {@inheritDoc} */
140-
@Override public int hashCode() {
141-
return attrName.hashCode();
142-
}
143125
}

modules/core/src/main/java/org/apache/ignite/cache/affinity/rendezvous/MdcAffinityBackupFilter.java

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -121,24 +121,6 @@ public MdcAffinityBackupFilter(int dcsNum, int backups) {
121121
return candDcCopiesAssigned < partCopiesPerDc;
122122
}
123123

124-
/** {@inheritDoc} */
125-
@Override public boolean equals(Object o) {
126-
if (this == o)
127-
return true;
128-
129-
if (!(o instanceof MdcAffinityBackupFilter))
130-
return false;
131-
132-
MdcAffinityBackupFilter filter = (MdcAffinityBackupFilter)o;
133-
134-
return partCopiesPerDc == filter.partCopiesPerDc;
135-
}
136-
137-
/** {@inheritDoc} */
138-
@Override public int hashCode() {
139-
return Integer.hashCode(partCopiesPerDc);
140-
}
141-
142124
/** {@inheritDoc} */
143125
@Override public String toString() {
144126
return S.toString(MdcAffinityBackupFilter.class, this);

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

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -434,23 +434,9 @@ private void checkCache(CacheJoinNodeDiscoveryData.CacheInfo locInfo, CacheData
434434
"Affinity partitions count", locAttr.affinityPartitionsCount(),
435435
rmtAttr.affinityPartitionsCount(), true);
436436

437-
if (locAttr.affinityBackupFilterClass() != null && rmtAttr.affinityBackupFilterClass() != null) {
438-
// We should not check backups if filters are lambdas both on local and remote nodes as lambdas cannot be compared with equals.
439-
if (U.lambdaEnclosingClassName(locAttr.affinityBackupFilterClass()) == null ||
440-
U.lambdaEnclosingClassName(rmtAttr.affinityBackupFilterClass()) == null
441-
) {
442-
CU.checkAttributeMismatch(log, rmtAttr.cacheName(), rmt, "affinityBackupFilterClass", "Affinity backup filter class",
443-
locAttr.affinityBackupFilterClass(), rmtAttr.affinityBackupFilterClass(), true);
444-
445-
CU.checkAttributeMismatch(log, rmtAttr.cacheName(), rmt, "affinityBackupFilter", "Affinity backup filter",
446-
locAttr.affinityBackupFilter(), rmtAttr.affinityBackupFilter(), true);
447-
}
448-
}
449-
else {
450-
// If both filter classes are null, this check won't fail.
451-
CU.checkAttributeMismatch(log, rmtAttr.cacheName(), rmt, "affinityBackupFilterClass", "Affinity backup filter class",
452-
locAttr.affinityBackupFilterClass(), rmtAttr.affinityBackupFilterClass(), true);
453-
}
437+
// TODO IGNITE-26967 - implement better validation of affinity backup filter
438+
CU.checkAttributeMismatch(log, rmtAttr.cacheName(), rmt, "affinityBackupFilterClass", "Affinity backup filter class",
439+
locAttr.affinityBackupFilterClass(), rmtAttr.affinityBackupFilterClass(), true);
454440

455441
CU.validateKeyConfigiration(rmtAttr.groupName(), rmtAttr.cacheName(), rmt, rmtAttr.configuration().getKeyConfiguration(),
456442
locAttr.configuration().getKeyConfiguration(), log, true);

modules/core/src/test/java/org/apache/ignite/cache/affinity/AffinityFunctionBackupFilterAbstractSelfTest.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -82,11 +82,6 @@ public abstract class AffinityFunctionBackupFilterAbstractSelfTest extends GridC
8282

8383
return backupAssignedAttr.get(nodeAttrVal).equals(0);
8484
}
85-
86-
/** {@inheritDoc} */
87-
@Override public boolean equals(Object obj) {
88-
return true;
89-
}
9085
};
9186

9287
/**

0 commit comments

Comments
 (0)