[ https://issues.apache.org/jira/browse/HBASE-15563?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15268667#comment-15268667 ]
Matt Warhaftig commented on HBASE-15563: ---------------------------------------- Just FYI counter reset logic was: {code} public static final int getAndIncrement() { for (;;) { int current = counterInt.get(); int next = (current + 1); if (next == groupNames.length) { next = 0; } if (counterInt.compareAndSet(current, next)) return current; } } {code} > '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)