HBASE-16272 Overflow in ServerName's compareTo method (Huaxiang Sun)

This commit is contained in:
Matteo Bertozzi 2016-07-22 15:28:04 -07:00
parent 519f87fc2b
commit cc766df28b
5 changed files with 12 additions and 15 deletions

View File

@ -300,7 +300,8 @@ import org.apache.hadoop.hbase.util.Bytes;
if (compare != 0) return compare;
compare = this.getPort() - other.getPort();
if (compare != 0) return compare;
return (int)(this.getStartcode() - other.getStartcode());
return Long.compare(this.getStartcode(), other.getStartcode());
}
@Override

View File

@ -749,8 +749,7 @@ public class LruBlockCache implements ResizableBlockCache, HeapSize {
}
public int compareTo(BlockBucket that) {
if(this.overflow() == that.overflow()) return 0;
return this.overflow() > that.overflow() ? 1 : -1;
return Long.compare(this.overflow(), that.overflow());
}
@Override
@ -987,13 +986,13 @@ public class LruBlockCache implements ResizableBlockCache, HeapSize {
public int compareTo(CachedBlock other) {
int diff = this.getFilename().compareTo(other.getFilename());
if (diff != 0) return diff;
diff = (int)(this.getOffset() - other.getOffset());
diff = Long.compare(this.getOffset(), other.getOffset());
if (diff != 0) return diff;
if (other.getCachedTime() < 0 || this.getCachedTime() < 0) {
throw new IllegalStateException("" + this.getCachedTime() + ", " +
other.getCachedTime());
}
return (int)(other.getCachedTime() - this.getCachedTime());
return Long.compare(other.getCachedTime(), this.getCachedTime());
}
@Override

View File

@ -1141,9 +1141,7 @@ public class BucketCache implements BlockCache, HeapSize {
@Override
public int compare(BucketEntry o1, BucketEntry o2) {
long accessCounter1 = o1.accessCounter;
long accessCounter2 = o2.accessCounter;
return accessCounter1 < accessCounter2 ? 1 : accessCounter1 == accessCounter2 ? 0 : -1;
return Long.compare(o2.accessCounter, o1.accessCounter);
}
};
@ -1271,9 +1269,7 @@ public class BucketCache implements BlockCache, HeapSize {
@Override
public int compareTo(BucketEntryGroup that) {
if (this.overflow() == that.overflow())
return 0;
return this.overflow() > that.overflow() ? 1 : -1;
return Long.compare(this.overflow(), that.overflow());
}
@Override
@ -1420,13 +1416,14 @@ public class BucketCache implements BlockCache, HeapSize {
public int compareTo(CachedBlock other) {
int diff = this.getFilename().compareTo(other.getFilename());
if (diff != 0) return diff;
diff = (int)(this.getOffset() - other.getOffset());
diff = Long.compare(this.getOffset(), other.getOffset());
if (diff != 0) return diff;
if (other.getCachedTime() < 0 || this.getCachedTime() < 0) {
throw new IllegalStateException("" + this.getCachedTime() + ", " +
other.getCachedTime());
}
return (int)(other.getCachedTime() - this.getCachedTime());
return Long.compare(other.getCachedTime(), this.getCachedTime());
}
@Override

View File

@ -143,7 +143,7 @@ public class SimpleRpcScheduler extends RpcScheduler implements ConfigurationObs
long deadlineB = priority.getDeadline(callB.getHeader(), callB.param);
deadlineA = callA.timestamp + Math.min(deadlineA, maxDelay);
deadlineB = callB.timestamp + Math.min(deadlineB, maxDelay);
return (int)(deadlineA - deadlineB);
return Long.compare(deadlineA, deadlineB);
}
}

View File

@ -3380,7 +3380,7 @@ public class HBaseFsck extends Configured implements Closeable {
final Comparator<Cell> comp = new Comparator<Cell>() {
@Override
public int compare(Cell k1, Cell k2) {
return (int)(k1.getTimestamp() - k2.getTimestamp());
return Long.compare(k1.getTimestamp(), k2.getTimestamp());
}
};