diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/ElasticByteBufferPool.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/ElasticByteBufferPool.java index c4b4491ec3a..694fcbebcf6 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/ElasticByteBufferPool.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/ElasticByteBufferPool.java @@ -18,6 +18,7 @@ package org.apache.hadoop.io; import com.google.common.collect.ComparisonChain; +import org.apache.commons.lang.builder.HashCodeBuilder; import java.nio.ByteBuffer; import java.util.Map; @@ -55,6 +56,9 @@ public int compareTo(Key other) { @Override public boolean equals(Object rhs) { + if (rhs == null) { + return false; + } try { Key o = (Key)rhs; return (compareTo(o) == 0); @@ -62,6 +66,14 @@ public boolean equals(Object rhs) { return false; } } + + @Override + public int hashCode() { + return new HashCodeBuilder(). + append(capacity). + append(insertionTime). + toHashCode(); + } } private final TreeMap buffers =