[ 
https://issues.apache.org/jira/browse/HBASE-14759?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Duo Zhang updated HBASE-14759:
------------------------------
    Assignee: Duo Zhang
      Status: Patch Available  (was: Open)

> 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
>            Assignee: Duo Zhang
>         Attachments: HBASE-14759.patch
>
>
> {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)

Reply via email to