Duo Zhang created HBASE-14759:
---------------------------------
Summary: Avoid using Math.abs when selecting SyncRunner in FSHLog
Key: HBASE-14759
URL: https://issues.apache.org/jira/browse/HBASE-14759
Project: HBase
Issue Type: Bug
Components: wal
Reporter: Duo Zhang
{code:title=FSHLog.java}
int index = Math.abs(this.syncRunnerIndex++) % this.syncRunners.length;
try {
this.syncRunners[index].offer(sequence, this.syncFutures,
this.syncFuturesCount);
} catch (Exception e) {
// Should NEVER get here.
requestLogRoll();
this.exception = new DamagedWALException("Failed offering sync", e);
}
{code}
Math.abs will return Integer.MIN_VALUE if you pass Integer.MIN_VALUE in since
the actual absolute value of Integer.MIN_VALUE is out of range.
I think {{this.syncRunnerIndex++}} will overflow eventually if we keep the
regionserver running for enough time.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)