You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by bs...@apache.org on 2018/11/08 17:40:45 UTC

[geode] branch develop updated: GEODE-5986 Inconsistent equals/hashCode

This is an automated email from the ASF dual-hosted git repository.

bschuchardt pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/develop by this push:
     new a5b04cc  GEODE-5986 Inconsistent equals/hashCode
a5b04cc is described below

commit a5b04cc639460b728e201b57505d9f10fa295dc7
Author: Bruce Schuchardt <bs...@pivotal.io>
AuthorDate: Mon Nov 5 14:13:47 2018 -0800

    GEODE-5986 Inconsistent equals/hashCode
    
    Added hashCode and equals methods to classes that were missing one or
    the other.
---
 .../GatewayDeltaForwarderCacheListener.java        |  6 ++++++
 .../callback/SessionExpirationCacheListener.java   |  9 ++++++++
 .../geode/modules/util/DebugCacheListener.java     |  7 ++++++
 .../geode/modules/util/SessionCustomExpiry.java    |  7 ++++++
 .../cache/MonthBasedPartitionResolver.java         |  5 +++++
 .../cache/PartitionedRegionSingleHopDUnitTest.java | 25 ++++++++++++++++++++++
 .../geode/internal/cache/SerializableMonth.java    | 12 +++++++++++
 .../cache/query/internal/LinkedResultSet.java      |  8 +++++++
 .../geode/cache/query/internal/NullToken.java      |  5 +++++
 .../geode/cache/query/internal/ResultsSet.java     |  7 ++++++
 .../query/internal/SelectResultsComparator.java    |  6 ++++++
 .../cache/query/internal/SortedResultSet.java      |  8 +++++++
 .../cache/query/internal/SortedStructSet.java      |  5 +++++
 .../geode/cache/query/internal/Undefined.java      |  7 ++++++
 .../internal/types/ExtendedNumericComparator.java  |  5 +++++
 .../query/internal/types/NumericComparator.java    |  6 ++++++
 .../query/internal/types/TemporalComparator.java   |  6 ++++++
 .../gms/locator/FindCoordinatorResponse.java       |  6 ++++++
 .../gms/messages/InstallViewMessage.java           |  6 ++++++
 .../gms/messages/JoinRequestMessage.java           |  6 ++++++
 .../gms/messages/JoinResponseMessage.java          |  6 ++++++
 .../internal/admin/remote/RemoteApplicationVM.java |  6 ++++++
 .../internal/admin/remote/RemoteGemFireVM.java     | 11 ++++++++++
 .../admin/statalerts/MultiAttrDefinitionImpl.java  | 12 +++++++++++
 .../admin/statalerts/SingleAttrDefinitionImpl.java | 13 +++++++++++
 .../geode/internal/cache/PoolFactoryImpl.java      | 17 +++++++++++++++
 .../internal/cache/xmlcache/CacheXmlGenerator.java |  6 ++++++
 .../geode/internal/jta/TransactionManagerImpl.java | 10 +--------
 .../internal/cli/commands/RebalanceCommand.java    |  5 +++++
 .../management/internal/cli/domain/ClassName.java  |  6 ++++++
 .../internal/cli/functions/RegionFunctionArgs.java |  6 ++++++
 .../src/main/java/hydra/MethExecutorResult.java    |  8 +++++++
 .../cache/CustomerIDPartitionResolver.java         |  6 ++++++
 .../geode/internal/cache/execute/data/Order.java   |  4 +++-
 .../internal/cache/execute/data/Shipment.java      |  3 +--
 .../apache/geode/internal/cache/wan/Filter70.java  |  6 ++++++
 .../cache/wan/MyGatewaySenderEventListener.java    |  7 ++++++
 .../cache/wan/MyGatewaySenderEventListener2.java   |  6 ++++++
 .../cache/wan/MyGatewayTransportFilter1.java       |  7 ++++++
 .../cache/wan/MyGatewayTransportFilter2.java       |  7 ++++++
 .../cache/wan/MyGatewayTransportFilter3.java       |  7 ++++++
 .../cache/wan/MyGatewayTransportFilter4.java       |  7 ++++++
 42 files changed, 306 insertions(+), 12 deletions(-)

diff --git a/extensions/geode-modules/src/main/java/org/apache/geode/modules/gatewaydelta/GatewayDeltaForwarderCacheListener.java b/extensions/geode-modules/src/main/java/org/apache/geode/modules/gatewaydelta/GatewayDeltaForwarderCacheListener.java
index 7ddc402..51e8ef6 100644
--- a/extensions/geode-modules/src/main/java/org/apache/geode/modules/gatewaydelta/GatewayDeltaForwarderCacheListener.java
+++ b/extensions/geode-modules/src/main/java/org/apache/geode/modules/gatewaydelta/GatewayDeltaForwarderCacheListener.java
@@ -166,6 +166,7 @@ public class GatewayDeltaForwarderCacheListener extends CacheListenerAdapter<Str
     return (LocalRegion) region;
   }
 
+  @Override
   public boolean equals(Object obj) {
     // This method is only implemented so that RegionCreator.validateRegion works properly.
     // The CacheListener comparison fails because two of these instances are not equal.
@@ -179,4 +180,9 @@ public class GatewayDeltaForwarderCacheListener extends CacheListenerAdapter<Str
 
     return true;
   }
+
+  @Override
+  public int hashCode() {
+    return GatewayDeltaForwarderCacheListener.class.hashCode();
+  }
 }
diff --git a/extensions/geode-modules/src/main/java/org/apache/geode/modules/session/catalina/callback/SessionExpirationCacheListener.java b/extensions/geode-modules/src/main/java/org/apache/geode/modules/session/catalina/callback/SessionExpirationCacheListener.java
index 232f075..401e46d 100644
--- a/extensions/geode-modules/src/main/java/org/apache/geode/modules/session/catalina/callback/SessionExpirationCacheListener.java
+++ b/extensions/geode-modules/src/main/java/org/apache/geode/modules/session/catalina/callback/SessionExpirationCacheListener.java
@@ -60,6 +60,8 @@ public class SessionExpirationCacheListener extends CacheListenerAdapter<String,
 
   public void init(Properties p) {}
 
+
+  @Override
   public boolean equals(Object obj) {
     // This method is only implemented so that RegionAttributesCreation.sameAs
     // works properly.
@@ -73,4 +75,11 @@ public class SessionExpirationCacheListener extends CacheListenerAdapter<String,
 
     return true;
   }
+
+
+  @Override
+  public int hashCode() {
+    return SessionExpirationCacheListener.class.hashCode();
+  }
+
 }
diff --git a/extensions/geode-modules/src/main/java/org/apache/geode/modules/util/DebugCacheListener.java b/extensions/geode-modules/src/main/java/org/apache/geode/modules/util/DebugCacheListener.java
index 39f9c65..6ffcf5a 100644
--- a/extensions/geode-modules/src/main/java/org/apache/geode/modules/util/DebugCacheListener.java
+++ b/extensions/geode-modules/src/main/java/org/apache/geode/modules/util/DebugCacheListener.java
@@ -64,4 +64,11 @@ public class DebugCacheListener extends CacheListenerAdapter implements Declarab
 
     return true;
   }
+
+
+  @Override
+  public int hashCode() {
+    return DebugCacheListener.class.hashCode();
+  }
+
 }
diff --git a/extensions/geode-modules/src/main/java/org/apache/geode/modules/util/SessionCustomExpiry.java b/extensions/geode-modules/src/main/java/org/apache/geode/modules/util/SessionCustomExpiry.java
index 6a7c799..ffb7cf2 100644
--- a/extensions/geode-modules/src/main/java/org/apache/geode/modules/util/SessionCustomExpiry.java
+++ b/extensions/geode-modules/src/main/java/org/apache/geode/modules/util/SessionCustomExpiry.java
@@ -61,4 +61,11 @@ public class SessionCustomExpiry
 
     return true;
   }
+
+
+  @Override
+  public int hashCode() {
+    return getClass().hashCode();
+  }
+
 }
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/MonthBasedPartitionResolver.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/MonthBasedPartitionResolver.java
index 3949938..afe1e8d 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/MonthBasedPartitionResolver.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/MonthBasedPartitionResolver.java
@@ -62,6 +62,11 @@ class MonthBasedPartitionResolver implements PartitionResolver, Declarable2 {
   }
 
   @Override
+  public int hashCode() {
+    return super.hashCode();
+  }
+
+  @Override
   public String getName() {
     return null;
   }
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionSingleHopDUnitTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionSingleHopDUnitTest.java
index 03f6640..d19d184 100755
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionSingleHopDUnitTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionSingleHopDUnitTest.java
@@ -36,6 +36,7 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
+import java.util.Objects;
 import java.util.Properties;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
@@ -2000,6 +2001,11 @@ class Customer implements DataSerializable { // TODO: move this to be an inner c
     Customer cust = (Customer) o;
     return (cust.name.equals(name) && cust.address.equals(address));
   }
+
+  @Override
+  public int hashCode() {
+    return Objects.hash(name, address);
+  }
 }
 
 
@@ -2040,6 +2046,15 @@ class Order implements DataSerializable {
     }
     return false;
   }
+
+  @Override
+  public int hashCode() {
+    if (orderName == null) {
+      return super.hashCode();
+    }
+    return orderName.hashCode();
+  }
+
 }
 
 
@@ -2080,4 +2095,14 @@ class Shipment implements DataSerializable {
     }
     return false;
   }
+
+
+  @Override
+  public int hashCode() {
+    if (shipmentName == null) {
+      return super.hashCode();
+    }
+    return shipmentName.hashCode();
+  }
+
 }
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/SerializableMonth.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/SerializableMonth.java
index 2670593..1f2ce6e 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/SerializableMonth.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/SerializableMonth.java
@@ -43,6 +43,18 @@ class SerializableMonth implements DataSerializable {
   }
 
   @Override
+  public boolean equals(Object o) {
+    if (this == o) {
+      return true;
+    }
+    if (!(o instanceof SerializableMonth)) {
+      return false;
+    }
+    SerializableMonth that = (SerializableMonth) o;
+    return month == that.month;
+  }
+
+  @Override
   public int hashCode() {
     if (month < 4) {
       return 1;
diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/LinkedResultSet.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/LinkedResultSet.java
index 2c11c8f..f643f1d 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/LinkedResultSet.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/LinkedResultSet.java
@@ -60,6 +60,9 @@ public class LinkedResultSet extends java.util.LinkedHashSet
 
   @Override
   public boolean equals(Object other) {
+    if (other == this) {
+      return true;
+    }
     if (!(other instanceof LinkedResultSet)) {
       return false;
     }
@@ -69,6 +72,11 @@ public class LinkedResultSet extends java.util.LinkedHashSet
     return super.equals(other);
   }
 
+  @Override
+  public int hashCode() {
+    return this.elementType.hashCode();
+  }
+
   public void setElementType(ObjectType elementType) {
     if (elementType instanceof StructType)
       throw new IllegalArgumentException(
diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/NullToken.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/NullToken.java
index f7ead1f..c1a6f98 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/NullToken.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/NullToken.java
@@ -54,6 +54,11 @@ public class NullToken implements DataSerializableFixedID, Comparable {
   }
 
   @Override
+  public int hashCode() {
+    return NullToken.class.hashCode();
+  }
+
+  @Override
   public int getDSFID() {
     return NULL_TOKEN;
   }
diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/ResultsSet.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/ResultsSet.java
index 3b24bcb..90f2778 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/ResultsSet.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/ResultsSet.java
@@ -90,6 +90,9 @@ public class ResultsSet extends HashSet implements SelectResults, DataSerializab
 
   @Override
   public boolean equals(Object other) {
+    if (other == this) {
+      return true;
+    }
     if (!(other instanceof ResultsSet)) {
       return false;
     }
@@ -99,6 +102,10 @@ public class ResultsSet extends HashSet implements SelectResults, DataSerializab
     return super.equals(other);
   }
 
+  @Override
+  public int hashCode() {
+    return this.elementType.hashCode();
+  }
 
   public List asList() {
     return new ArrayList(this);
diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/SelectResultsComparator.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/SelectResultsComparator.java
index 138cfb5..7708bca 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/SelectResultsComparator.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/SelectResultsComparator.java
@@ -15,6 +15,7 @@
 package org.apache.geode.cache.query.internal;
 
 import java.util.Comparator;
+import java.util.Objects;
 
 import org.apache.geode.cache.query.SelectResults;
 
@@ -53,4 +54,9 @@ class SelectResultsComparator implements Comparator {
   public boolean equals(Object o1) {
     return this == o1;
   }
+
+  @Override
+  public int hashCode() {
+    return Objects.hash(this);
+  }
 }
diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/SortedResultSet.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/SortedResultSet.java
index 7ad05aa..4658d97 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/SortedResultSet.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/SortedResultSet.java
@@ -69,6 +69,9 @@ public class SortedResultSet extends TreeSet
 
   @Override
   public boolean equals(Object other) {
+    if (other == this) {
+      return true;
+    }
     if (!(other instanceof SortedResultSet)) {
       return false;
     }
@@ -78,6 +81,11 @@ public class SortedResultSet extends TreeSet
     return super.equals(other);
   }
 
+  @Override
+  public int hashCode() {
+    return this.elementType.hashCode();
+  }
+
   public void setElementType(ObjectType elementType) {
     if (elementType instanceof StructType)
       throw new IllegalArgumentException(
diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/SortedStructSet.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/SortedStructSet.java
index 9bde461..98fa748 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/SortedStructSet.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/SortedStructSet.java
@@ -91,6 +91,11 @@ public class SortedStructSet extends TreeSet
     return super.equals(other);
   }
 
+  @Override
+  public int hashCode() {
+    return super.hashCode();
+  }
+
   /** Add a Struct */
   @Override
   public boolean add(Object obj) {
diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/Undefined.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/Undefined.java
index 709f661..616eed9 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/Undefined.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/Undefined.java
@@ -78,6 +78,13 @@ public class Undefined implements DataSerializableFixedID, Comparable, Serializa
   }
 
   @Override
+  public int hashCode() {
+    return Undefined.class.hashCode();
+  }
+
+
+
+  @Override
   public Version[] getSerializationVersions() {
     return null;
   }
diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/types/ExtendedNumericComparator.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/types/ExtendedNumericComparator.java
index 8b42b19..61991cc 100755
--- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/types/ExtendedNumericComparator.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/types/ExtendedNumericComparator.java
@@ -32,6 +32,11 @@ public class ExtendedNumericComparator extends NumericComparator implements Comp
     return obj instanceof ExtendedNumericComparator;
   }
 
+  @Override
+  public int hashCode() {
+    return ExtendedNumericComparator.class.hashCode();
+  }
+
   public int compare(Object obj1, Object obj2) {
     if (obj1.getClass() != obj2.getClass() && (obj1 instanceof Number && obj2 instanceof Number)) {
       return super.compare(obj1, obj2);
diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/types/NumericComparator.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/types/NumericComparator.java
index c2b58e2..1f9fead 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/types/NumericComparator.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/types/NumericComparator.java
@@ -32,6 +32,12 @@ class NumericComparator implements Comparator {
     return obj instanceof NumericComparator;
   }
 
+  @Override
+  public int hashCode() {
+    return NumericComparator.class.hashCode();
+  }
+
+
   // throws ClassCastExcepton if obj1 or obj2 is not a Number
   public int compare(Object obj1, Object obj2) {
     Number num1 = (Number) obj1;
diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/types/TemporalComparator.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/types/TemporalComparator.java
index 5eb2753..9de1322 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/types/TemporalComparator.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/types/TemporalComparator.java
@@ -33,6 +33,12 @@ class TemporalComparator implements Comparator {
     return obj instanceof TemporalComparator;
   }
 
+  @Override
+  public int hashCode() {
+    return TemporalComparator.class.hashCode();
+  }
+
+
   // throws ClassCastExcepton if obj1 or obj2 is not a java.util.Date or subclass
   public int compare(Object obj1, Object obj2) {
     java.util.Date date1 = (java.util.Date) obj1;
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/locator/FindCoordinatorResponse.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/locator/FindCoordinatorResponse.java
index ec4b101..5d67d8f 100755
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/locator/FindCoordinatorResponse.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/locator/FindCoordinatorResponse.java
@@ -19,6 +19,7 @@ import java.io.DataOutput;
 import java.io.IOException;
 import java.util.Arrays;
 import java.util.HashSet;
+import java.util.Objects;
 import java.util.Set;
 
 import org.apache.geode.DataSerializer;
@@ -183,6 +184,11 @@ public class FindCoordinatorResponse extends HighPriorityDistributionMessage
   }
 
   @Override
+  public int hashCode() {
+    return Objects.hash(senderId, view, registrants, requestId);
+  }
+
+  @Override
   public boolean equals(Object obj) {
     if (this == obj)
       return true;
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messages/InstallViewMessage.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messages/InstallViewMessage.java
index 7dca4be..3337bc7 100755
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messages/InstallViewMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messages/InstallViewMessage.java
@@ -17,6 +17,7 @@ package org.apache.geode.distributed.internal.membership.gms.messages;
 import java.io.DataInput;
 import java.io.DataOutput;
 import java.io.IOException;
+import java.util.Objects;
 
 import org.apache.geode.DataSerializer;
 import org.apache.geode.distributed.internal.ClusterDistributionManager;
@@ -107,6 +108,11 @@ public class InstallViewMessage extends HighPriorityDistributionMessage {
   }
 
   @Override
+  public int hashCode() {
+    return Objects.hash(view, previousViewId);
+  }
+
+  @Override
   public boolean equals(Object obj) {
     if (this == obj)
       return true;
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messages/JoinRequestMessage.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messages/JoinRequestMessage.java
index c8e88fc..1c565d5 100755
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messages/JoinRequestMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messages/JoinRequestMessage.java
@@ -17,6 +17,7 @@ package org.apache.geode.distributed.internal.membership.gms.messages;
 import java.io.DataInput;
 import java.io.DataOutput;
 import java.io.IOException;
+import java.util.Objects;
 
 import org.apache.geode.DataSerializer;
 import org.apache.geode.distributed.internal.ClusterDistributionManager;
@@ -103,6 +104,11 @@ public class JoinRequestMessage extends HighPriorityDistributionMessage {
   }
 
   @Override
+  public int hashCode() {
+    return Objects.hash(memberID);
+  }
+
+  @Override
   public boolean equals(Object obj) {
     if (this == obj)
       return true;
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messages/JoinResponseMessage.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messages/JoinResponseMessage.java
index dd718ab..b97d11a 100755
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messages/JoinResponseMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messages/JoinResponseMessage.java
@@ -18,6 +18,7 @@ import java.io.DataInput;
 import java.io.DataOutput;
 import java.io.IOException;
 import java.util.Arrays;
+import java.util.Objects;
 
 import org.apache.geode.DataSerializer;
 import org.apache.geode.distributed.internal.ClusterDistributionManager;
@@ -134,6 +135,11 @@ public class JoinResponseMessage extends HighPriorityDistributionMessage {
   }
 
   @Override
+  public int hashCode() {
+    return Objects.hash(memberID);
+  }
+
+  @Override
   public boolean equals(Object obj) {
     if (this == obj)
       return true;
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/remote/RemoteApplicationVM.java b/geode-core/src/main/java/org/apache/geode/internal/admin/remote/RemoteApplicationVM.java
index 2a4a52e..18e5c06 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/admin/remote/RemoteApplicationVM.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/admin/remote/RemoteApplicationVM.java
@@ -16,6 +16,8 @@
 
 package org.apache.geode.internal.admin.remote;
 
+import java.util.Objects;
+
 import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
 import org.apache.geode.internal.admin.Alert;
 import org.apache.geode.internal.admin.ApplicationVM;
@@ -54,4 +56,8 @@ public class RemoteApplicationVM extends RemoteGemFireVM implements ApplicationV
     }
   }
 
+  @Override
+  public int hashCode() {
+    return Objects.hash(agent, id);
+  }
 }
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/remote/RemoteGemFireVM.java b/geode-core/src/main/java/org/apache/geode/internal/admin/remote/RemoteGemFireVM.java
index ba61bbd..e611495 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/admin/remote/RemoteGemFireVM.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/admin/remote/RemoteGemFireVM.java
@@ -139,6 +139,17 @@ public abstract class RemoteGemFireVM implements GemFireVM {
     return vmName;
   }
 
+  @Override
+  public boolean equals(Object object) {
+    if (this == object) {
+      return true;
+    }
+    if (object instanceof RemoteGemFireVM) {
+      return this.id.equals(((RemoteGemFireVM) object).id);
+    }
+    return false;
+  }
+
   @Override // GemStoneAddition
   public int hashCode() {
     return this.id.hashCode();
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/MultiAttrDefinitionImpl.java b/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/MultiAttrDefinitionImpl.java
index 36bf73a..35f4937 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/MultiAttrDefinitionImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/MultiAttrDefinitionImpl.java
@@ -56,6 +56,18 @@ public class MultiAttrDefinitionImpl implements StatAlertDefinition {
     return getId();
   }
 
+  @Override
+  public boolean equals(Object o) {
+    if (this == o) {
+      return true;
+    }
+    if (!(o instanceof MultiAttrDefinitionImpl)) {
+      return false;
+    }
+    MultiAttrDefinitionImpl that = (MultiAttrDefinitionImpl) o;
+    return _id == that._id;
+  }
+
   public boolean verify(StatisticsFactory factory) {
     if (statisticInfo == null || statisticInfo.length == 0) {
       // System.out.println("No attributes defined for this definition.");
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/SingleAttrDefinitionImpl.java b/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/SingleAttrDefinitionImpl.java
index 59de3a2..470d2e9 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/SingleAttrDefinitionImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/SingleAttrDefinitionImpl.java
@@ -56,6 +56,19 @@ public class SingleAttrDefinitionImpl implements StatAlertDefinition {
     return getId();
   }
 
+  @Override
+  public boolean equals(Object o) {
+    if (this == o) {
+      return true;
+    }
+    if (!(o instanceof MultiAttrDefinitionImpl)) {
+      return false;
+    }
+    MultiAttrDefinitionImpl that = (MultiAttrDefinitionImpl) o;
+    return _id == that._id;
+  }
+
+
   public boolean verify(StatisticsFactory factory) {
     boolean result = false;
 
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/PoolFactoryImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/PoolFactoryImpl.java
index b4ff4b0..d67abf3 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/PoolFactoryImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/PoolFactoryImpl.java
@@ -370,6 +370,11 @@ public class PoolFactoryImpl implements PoolFactory {
         && Objects.equals(new HashSet(locatorAddresses), new HashSet(that.locatorAddresses));
   }
 
+  @Override
+  public int hashCode() {
+    return Objects.hash(attributes, locatorAddresses);
+  }
+
   /**
    * Not a true pool just the attributes. Serialization is used by unit tests
    */
@@ -626,6 +631,18 @@ public class PoolFactoryImpl implements PoolFactory {
     }
 
     @Override
+    public int hashCode() {
+      return Objects
+          .hash(socketConnectTimeout, connectionTimeout, connectionLifetime, socketBufferSize,
+              threadLocalConnections, readTimeout, minConnections, maxConnections, idleTimeout,
+              retryAttempts, pingInterval, statisticInterval, queueEnabled, prSingleHopEnabled,
+              queueRedundancyLevel, queueMessageTrackingTimeout, queueAckInterval,
+              subscriptionTimeoutMultipler, serverGroup, multiuserSecureModeEnabled, locators,
+              servers,
+              startDisabled, locatorCallback, gatewaySender, gateway);
+    }
+
+    @Override
     public boolean equals(Object o) {
       if (this == o) {
         return true;
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/xmlcache/CacheXmlGenerator.java b/geode-core/src/main/java/org/apache/geode/internal/cache/xmlcache/CacheXmlGenerator.java
index 13922d6..cf40349 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/xmlcache/CacheXmlGenerator.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/xmlcache/CacheXmlGenerator.java
@@ -1166,9 +1166,15 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
       return (((Region) o1).getFullPath().compareTo(((Region) o2).getFullPath()));
     }
 
+    @Override
     public boolean equals(Object anObj) {
       return ((Region) this).getFullPath().equals(((Region) anObj).getFullPath());
     }
+
+    @Override
+    public int hashCode() {
+      return ((Region) this).getFullPath().hashCode();
+    }
   }
 
   /**
diff --git a/geode-core/src/main/java/org/apache/geode/internal/jta/TransactionManagerImpl.java b/geode-core/src/main/java/org/apache/geode/internal/jta/TransactionManagerImpl.java
index 3a24323..dc489cb 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/jta/TransactionManagerImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/jta/TransactionManagerImpl.java
@@ -889,14 +889,6 @@ public class TransactionManagerImpl implements TransactionManager, Serializable
       GlobalTransaction gtx2 = (GlobalTransaction) obj2;
       return gtx1.compare(gtx2);
     }
-
-    /**
-     * Overwrite default equals implementation
-     */
-    @Override
-    public boolean equals(Object o1) {
-      return this == o1;
-    }
   }
 
   /**
@@ -912,7 +904,7 @@ public class TransactionManagerImpl implements TransactionManager, Serializable
       LogWriter writer = TransactionUtils.getLogWriter();
       if (writer.infoEnabled())
         writer.info(
-            "Exception While cleaning thread before re statrup");
+            "Exception While cleaning thread before re startup");
     }
     /*
      * try { transactionManager.cleanUpThread.join(); } catch (Exception e) { e.printStackTrace(); }
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/RebalanceCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/RebalanceCommand.java
index 28de976..4f1d551 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/RebalanceCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/RebalanceCommand.java
@@ -606,6 +606,11 @@ public class RebalanceCommand extends InternalGfshCommand {
     public boolean equals(Object o2) {
       return o2 != null && this.region.equals(((MemberPRInfo) o2).region);
     }
+
+    @Override
+    public int hashCode() {
+      return this.region.hashCode();
+    }
   }
 
   private List<MemberPRInfo> getMemberRegionList(InternalCache cache,
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/domain/ClassName.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/domain/ClassName.java
index 1555c05..a554f9f 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/domain/ClassName.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/domain/ClassName.java
@@ -17,6 +17,7 @@ package org.apache.geode.management.internal.cli.domain;
 
 import java.io.IOException;
 import java.io.Serializable;
+import java.util.Objects;
 import java.util.Properties;
 import java.util.regex.Pattern;
 
@@ -95,6 +96,11 @@ public class ClassName<T> implements Serializable {
   }
 
   @Override
+  public int hashCode() {
+    return Objects.hash(className, initProperties);
+  }
+
+  @Override
   public boolean equals(Object o) {
     if (o == null) {
       return false;
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RegionFunctionArgs.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RegionFunctionArgs.java
index 37eec45..948ba29 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RegionFunctionArgs.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RegionFunctionArgs.java
@@ -19,6 +19,7 @@ import java.io.Serializable;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashSet;
+import java.util.Objects;
 import java.util.Set;
 import java.util.stream.Collectors;
 
@@ -490,6 +491,11 @@ public class RegionFunctionArgs implements Serializable {
     }
 
     @Override
+    public int hashCode() {
+      return Objects.hash(time, action);
+    }
+
+    @Override
     public boolean equals(Object object) {
       if (object == null) {
         return false;
diff --git a/geode-dunit/src/main/java/hydra/MethExecutorResult.java b/geode-dunit/src/main/java/hydra/MethExecutorResult.java
index 8c005d0..1adc765 100644
--- a/geode-dunit/src/main/java/hydra/MethExecutorResult.java
+++ b/geode-dunit/src/main/java/hydra/MethExecutorResult.java
@@ -38,6 +38,10 @@ public class MethExecutorResult implements Serializable {
       return o != null && this.getClass().equals(o.getClass());
     }
 
+    public int hashCode() {
+      return this.getClass().hashCode();
+    }
+
     public String toString() {
       return "EXCEPTION_OCCURRED";
     }
@@ -52,6 +56,10 @@ public class MethExecutorResult implements Serializable {
       return o != null && this.getClass().equals(o.getClass());
     }
 
+    public int hashCode() {
+      return this.getClass().hashCode();
+    }
+
     public String toString() {
       return "NONSERIALIZABLE_EXCEPTION";
     }
diff --git a/geode-dunit/src/main/java/org/apache/geode/internal/cache/CustomerIDPartitionResolver.java b/geode-dunit/src/main/java/org/apache/geode/internal/cache/CustomerIDPartitionResolver.java
index 19ae77b..70f425a 100755
--- a/geode-dunit/src/main/java/org/apache/geode/internal/cache/CustomerIDPartitionResolver.java
+++ b/geode-dunit/src/main/java/org/apache/geode/internal/cache/CustomerIDPartitionResolver.java
@@ -15,6 +15,7 @@
 package org.apache.geode.internal.cache;
 
 import java.io.Serializable;
+import java.util.Objects;
 
 import org.apache.geode.cache.EntryOperation;
 import org.apache.geode.cache.PartitionResolver;
@@ -61,6 +62,7 @@ public class CustomerIDPartitionResolver implements PartitionResolver {
 
   public void close() {}
 
+  @Override
   public boolean equals(Object o) {
     if (this == o)
       return true;
@@ -73,4 +75,8 @@ public class CustomerIDPartitionResolver implements PartitionResolver {
 
   }
 
+  @Override
+  public int hashCode() {
+    return Objects.hash(id);
+  }
 }
diff --git a/geode-dunit/src/main/java/org/apache/geode/internal/cache/execute/data/Order.java b/geode-dunit/src/main/java/org/apache/geode/internal/cache/execute/data/Order.java
index e23c8b7..2f7e025 100644
--- a/geode-dunit/src/main/java/org/apache/geode/internal/cache/execute/data/Order.java
+++ b/geode-dunit/src/main/java/org/apache/geode/internal/cache/execute/data/Order.java
@@ -23,7 +23,7 @@ import org.apache.geode.DataSerializer;
 import org.apache.geode.internal.cache.execute.PRColocationDUnitTestHelper;
 
 public class Order implements DataSerializable {
-  String orderName;
+  private String orderName;
 
   public Order() {
 
@@ -41,10 +41,12 @@ public class Order implements DataSerializable {
     DataSerializer.writeString(this.orderName, out);
   }
 
+  @Override
   public String toString() {
     return this.orderName;
   }
 
+  @Override
   public boolean equals(Object obj) {
     if (this == obj)
       return true;
diff --git a/geode-dunit/src/main/java/org/apache/geode/internal/cache/execute/data/Shipment.java b/geode-dunit/src/main/java/org/apache/geode/internal/cache/execute/data/Shipment.java
index c546a52..b053c00 100644
--- a/geode-dunit/src/main/java/org/apache/geode/internal/cache/execute/data/Shipment.java
+++ b/geode-dunit/src/main/java/org/apache/geode/internal/cache/execute/data/Shipment.java
@@ -23,7 +23,7 @@ import org.apache.geode.DataSerializer;
 import org.apache.geode.internal.cache.execute.PRColocationDUnitTestHelper;
 
 public class Shipment implements DataSerializable {
-  String shipmentName;
+  private String shipmentName;
 
   public Shipment() {
 
@@ -58,7 +58,6 @@ public class Shipment implements DataSerializable {
     return false;
   }
 
-
   @Override
   public int hashCode() {
     if (shipmentName == null) {
diff --git a/geode-junit/src/main/java/org/apache/geode/internal/cache/wan/Filter70.java b/geode-junit/src/main/java/org/apache/geode/internal/cache/wan/Filter70.java
index 43f59cc..ceefdae 100644
--- a/geode-junit/src/main/java/org/apache/geode/internal/cache/wan/Filter70.java
+++ b/geode-junit/src/main/java/org/apache/geode/internal/cache/wan/Filter70.java
@@ -15,6 +15,7 @@
 package org.apache.geode.internal.cache.wan;
 
 import java.io.Serializable;
+import java.util.Objects;
 
 import org.apache.geode.cache.wan.GatewayEventFilter;
 import org.apache.geode.cache.wan.GatewayQueueEvent;
@@ -58,4 +59,9 @@ public class Filter70 implements GatewayEventFilter, Serializable {
     Filter70 filter = (Filter70) obj;
     return this.Id.equals(filter.Id);
   }
+
+  @Override
+  public int hashCode() {
+    return Objects.hash(Id);
+  }
 }
diff --git a/geode-junit/src/main/java/org/apache/geode/internal/cache/wan/MyGatewaySenderEventListener.java b/geode-junit/src/main/java/org/apache/geode/internal/cache/wan/MyGatewaySenderEventListener.java
index 548df52..48097b1 100644
--- a/geode-junit/src/main/java/org/apache/geode/internal/cache/wan/MyGatewaySenderEventListener.java
+++ b/geode-junit/src/main/java/org/apache/geode/internal/cache/wan/MyGatewaySenderEventListener.java
@@ -18,6 +18,7 @@ import java.io.Serializable;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 
 import org.apache.geode.cache.asyncqueue.AsyncEvent;
 import org.apache.geode.cache.asyncqueue.AsyncEventListener;
@@ -67,6 +68,12 @@ public class MyGatewaySenderEventListener implements AsyncEventListener, Seriali
   }
 
   @Override
+  public int hashCode() {
+    return Objects.hash(id);
+  }
+
+
+  @Override
   public String toString() {
     return id;
   }
diff --git a/geode-junit/src/main/java/org/apache/geode/internal/cache/wan/MyGatewaySenderEventListener2.java b/geode-junit/src/main/java/org/apache/geode/internal/cache/wan/MyGatewaySenderEventListener2.java
index e8632eb..f5e15fe 100644
--- a/geode-junit/src/main/java/org/apache/geode/internal/cache/wan/MyGatewaySenderEventListener2.java
+++ b/geode-junit/src/main/java/org/apache/geode/internal/cache/wan/MyGatewaySenderEventListener2.java
@@ -18,6 +18,7 @@ import java.io.Serializable;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 
 import org.apache.geode.cache.asyncqueue.AsyncEvent;
 import org.apache.geode.cache.asyncqueue.AsyncEventListener;
@@ -66,6 +67,11 @@ public class MyGatewaySenderEventListener2 implements AsyncEventListener, Serial
   }
 
   @Override
+  public int hashCode() {
+    return Objects.hash(id);
+  }
+
+  @Override
   public String toString() {
     return id;
   }
diff --git a/geode-junit/src/main/java/org/apache/geode/internal/cache/wan/MyGatewayTransportFilter1.java b/geode-junit/src/main/java/org/apache/geode/internal/cache/wan/MyGatewayTransportFilter1.java
index 100c910..d5570aa 100644
--- a/geode-junit/src/main/java/org/apache/geode/internal/cache/wan/MyGatewayTransportFilter1.java
+++ b/geode-junit/src/main/java/org/apache/geode/internal/cache/wan/MyGatewayTransportFilter1.java
@@ -17,6 +17,7 @@ package org.apache.geode.internal.cache.wan;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.io.Serializable;
+import java.util.Objects;
 
 import org.apache.geode.cache.wan.GatewayTransportFilter;
 
@@ -54,4 +55,10 @@ public class MyGatewayTransportFilter1 implements GatewayTransportFilter, Serial
     MyGatewayTransportFilter1 filter = (MyGatewayTransportFilter1) obj;
     return this.Id.equals(filter.Id);
   }
+
+  @Override
+  public int hashCode() {
+    return Objects.hash(Id);
+  }
+
 }
diff --git a/geode-junit/src/main/java/org/apache/geode/internal/cache/wan/MyGatewayTransportFilter2.java b/geode-junit/src/main/java/org/apache/geode/internal/cache/wan/MyGatewayTransportFilter2.java
index 43f7eb6..3b5d328 100644
--- a/geode-junit/src/main/java/org/apache/geode/internal/cache/wan/MyGatewayTransportFilter2.java
+++ b/geode-junit/src/main/java/org/apache/geode/internal/cache/wan/MyGatewayTransportFilter2.java
@@ -17,6 +17,7 @@ package org.apache.geode.internal.cache.wan;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.io.Serializable;
+import java.util.Objects;
 
 import org.apache.geode.cache.wan.GatewayTransportFilter;
 
@@ -53,4 +54,10 @@ public class MyGatewayTransportFilter2 implements GatewayTransportFilter, Serial
     MyGatewayTransportFilter2 filter = (MyGatewayTransportFilter2) obj;
     return this.Id.equals(filter.Id);
   }
+
+  @Override
+  public int hashCode() {
+    return Objects.hash(Id);
+  }
+
 }
diff --git a/geode-junit/src/main/java/org/apache/geode/internal/cache/wan/MyGatewayTransportFilter3.java b/geode-junit/src/main/java/org/apache/geode/internal/cache/wan/MyGatewayTransportFilter3.java
index eaf1686..bfb3fe4 100644
--- a/geode-junit/src/main/java/org/apache/geode/internal/cache/wan/MyGatewayTransportFilter3.java
+++ b/geode-junit/src/main/java/org/apache/geode/internal/cache/wan/MyGatewayTransportFilter3.java
@@ -17,6 +17,7 @@ package org.apache.geode.internal.cache.wan;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.io.Serializable;
+import java.util.Objects;
 
 import org.apache.geode.cache.wan.GatewayTransportFilter;
 
@@ -53,4 +54,10 @@ public class MyGatewayTransportFilter3 implements GatewayTransportFilter, Serial
     MyGatewayTransportFilter3 filter = (MyGatewayTransportFilter3) obj;
     return this.Id.equals(filter.Id);
   }
+
+  @Override
+  public int hashCode() {
+    return Objects.hash(Id);
+  }
+
 }
diff --git a/geode-junit/src/main/java/org/apache/geode/internal/cache/wan/MyGatewayTransportFilter4.java b/geode-junit/src/main/java/org/apache/geode/internal/cache/wan/MyGatewayTransportFilter4.java
index 4ab83e8..473a9b5 100644
--- a/geode-junit/src/main/java/org/apache/geode/internal/cache/wan/MyGatewayTransportFilter4.java
+++ b/geode-junit/src/main/java/org/apache/geode/internal/cache/wan/MyGatewayTransportFilter4.java
@@ -17,6 +17,7 @@ package org.apache.geode.internal.cache.wan;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.io.Serializable;
+import java.util.Objects;
 
 import org.apache.geode.cache.wan.GatewayTransportFilter;
 
@@ -53,4 +54,10 @@ public class MyGatewayTransportFilter4 implements GatewayTransportFilter, Serial
     MyGatewayTransportFilter4 filter = (MyGatewayTransportFilter4) obj;
     return this.Id.equals(filter.Id);
   }
+
+  @Override
+  public int hashCode() {
+    return Objects.hash(Id);
+  }
+
 }