You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ap...@apache.org on 2017/11/30 02:04:57 UTC
[2/3] hbase git commit: HBASE-19379 TestEndToEndSplitTransaction
fails with NPE
HBASE-19379 TestEndToEndSplitTransaction fails with NPE
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/39da0d44
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/39da0d44
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/39da0d44
Branch: refs/heads/branch-1.4
Commit: 39da0d44e0c286d8a4129daf9ed079722b8a8c0c
Parents: fb070f1
Author: Andrew Purtell <ap...@apache.org>
Authored: Wed Nov 29 16:37:07 2017 -0800
Committer: Andrew Purtell <ap...@apache.org>
Committed: Wed Nov 29 17:24:54 2017 -0800
----------------------------------------------------------------------
.../apache/hadoop/hbase/HRegionLocation.java | 73 +++++++++++++++-----
1 file changed, 55 insertions(+), 18 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/39da0d44/hbase-client/src/main/java/org/apache/hadoop/hbase/HRegionLocation.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/HRegionLocation.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/HRegionLocation.java
index 373e76b..ff78ddc 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/HRegionLocation.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/HRegionLocation.java
@@ -61,29 +61,71 @@ public class HRegionLocation implements Comparable<HRegionLocation> {
+ ", hostname=" + this.serverName + ", seqNum=" + seqNum;
}
- /**
- * @see java.lang.Object#equals(java.lang.Object)
- */
@Override
- public boolean equals(Object o) {
- if (this == o) {
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((regionInfo == null) ? 0 : regionInfo.hashCode());
+ result = prime * result + (int) (seqNum ^ (seqNum >>> 32));
+ result = prime * result + ((serverName == null) ? 0 : serverName.hashCode());
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj) {
return true;
}
- if (o == null) {
+ if (obj == null) {
+ return false;
+ }
+ if (getClass() != obj.getClass()) {
+ return false;
+ }
+ HRegionLocation other = (HRegionLocation) obj;
+ if (regionInfo == null) {
+ if (other.regionInfo != null) {
+ return false;
+ }
+ } else if (!regionInfo.equals(other.regionInfo)) {
return false;
}
- if (!(o instanceof HRegionLocation)) {
+ if (seqNum != other.seqNum) {
return false;
}
- return this.compareTo((HRegionLocation)o) == 0;
+ if (serverName == null) {
+ if (other.serverName != null) {
+ return false;
+ }
+ } else if (!serverName.equals(other.serverName)) {
+ return false;
+ }
+ return true;
}
- /**
- * @see java.lang.Object#hashCode()
- */
@Override
- public int hashCode() {
- return this.serverName.hashCode();
+ public int compareTo(HRegionLocation other) {
+ if (regionInfo == null) {
+ if (other.regionInfo != null) {
+ return 1;
+ }
+ } else {
+ int compare = regionInfo.compareTo(other.regionInfo);
+ if (compare != 0) {
+ return compare;
+ }
+ }
+ if (serverName == null) {
+ if (other.serverName != null) {
+ return 1;
+ }
+ } else {
+ int compare = serverName.compareTo(other.serverName);
+ if (compare != 0) {
+ return compare;
+ }
+ }
+ return Long.compare(seqNum, other.seqNum);
}
/** @return HRegionInfo */
@@ -113,9 +155,4 @@ public class HRegionLocation implements Comparable<HRegionLocation> {
public ServerName getServerName() {
return serverName;
}
-
- @Override
- public int compareTo(HRegionLocation o) {
- return serverName.compareTo(o.getServerName());
- }
}