hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matt Warhaftig (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-15563) 'counter' may overflow in BoundedGroupingStrategy
Date Tue, 03 May 2016 12:31:12 GMT

    [ https://issues.apache.org/jira/browse/HBASE-15563?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15268622#comment-15268622
] 

Matt Warhaftig commented on HBASE-15563:
----------------------------------------

Below are results for time to get groupNames array element for Integer.Max_Value*2 records
across multiple thread counts.  Counter reset code was closely adapted from AtomicInteger.getAndIncrement().

|| Threads || AtomicLong Run Time || Counter Reset Run Time || % Difference ||
| 1 | 65s   | 66s  | + 1.5% |
| 2 | 186s  | 219s | +16% |
| 4 | 287s  | 317s | +10% |

The Counter Reset method is a little slower but still I will put it into a quick patch tonight.

> 'counter' may overflow in BoundedGroupingStrategy
> -------------------------------------------------
>
>                 Key: HBASE-15563
>                 URL: https://issues.apache.org/jira/browse/HBASE-15563
>             Project: HBase
>          Issue Type: Bug
>          Components: wal
>            Reporter: Duo Zhang
>            Assignee: Matt Warhaftig
>            Priority: Minor
>              Labels: beginner
>         Attachments: hbase-15563-v1.patch
>
>
> {code}
> groupName = groupNames[counter.getAndIncrement() % groupNames.length];
> {code}
> Theoretically, counter can overflow and becomes negative then causes an ArrayIndexOutOfBoundsException.
> But in practice, we need 2 billions different identifiers to make this happen, and before
the overflow we will run into OOM because of a huge groupNameCache...
> So not sure if it is worth to fix



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message