Return-Path: X-Original-To: apmail-hbase-issues-archive@www.apache.org Delivered-To: apmail-hbase-issues-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 5295218991 for ; Tue, 25 Aug 2015 15:49:46 +0000 (UTC) Received: (qmail 78459 invoked by uid 500); 25 Aug 2015 15:49:46 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 78410 invoked by uid 500); 25 Aug 2015 15:49:46 -0000 Mailing-List: contact issues-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list issues@hbase.apache.org Received: (qmail 78395 invoked by uid 99); 25 Aug 2015 15:49:46 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 25 Aug 2015 15:49:46 +0000 Date: Tue, 25 Aug 2015 15:49:46 +0000 (UTC) From: "Yu Li (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (HBASE-14306) Refine RegionGroupingProvider: fix issues and make it more scalable MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/HBASE-14306?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Yu Li updated HBASE-14306: -------------------------- Description: There're multiple issues in RegionGroupingProvider, including: * The provider cache in it is using byte array as the key of ConcurrentHashMap, which is not right (the reason is [here|http://stackoverflow.com/questions/1058149/using-a-byte-array-as-hashmap-key-java]) * It's using IdentityGroupingStrategy to get group and use it as key of the cache, which means the cache will include an entry for each region. This is especially unnecessary when using BoundedRegionGroupingProvider I would suggest to change BoundedRegionGroupingProvider from a *provider* to a pluggable *strategy*, which will make the whole picture much more clear. For more details, please refer to the patch was: There're multiple issues in RegionGroupingProvider, including: # The provider cache in it is using byte array as the key of ConcurrentHashMap, which is not right (the reason is [here|http://stackoverflow.com/questions/1058149/using-a-byte-array-as-hashmap-key-java]) # It's using IdentityGroupingStrategy to get group and use it as key of the cache, which means the cache will include an entry for each region. This is especially unnecessary when using BoundedRegionGroupingProvider I would suggest to change BoundedRegionGroupingProvider from a *provider* to a pluggable *strategy*, which will make the whole picture much more clear. For more details, please refer to the patch > Refine RegionGroupingProvider: fix issues and make it more scalable > ------------------------------------------------------------------- > > Key: HBASE-14306 > URL: https://issues.apache.org/jira/browse/HBASE-14306 > Project: HBase > Issue Type: Improvement > Components: wal > Reporter: Yu Li > Assignee: Yu Li > > There're multiple issues in RegionGroupingProvider, including: > * The provider cache in it is using byte array as the key of ConcurrentHashMap, which is not right (the reason is [here|http://stackoverflow.com/questions/1058149/using-a-byte-array-as-hashmap-key-java]) > * It's using IdentityGroupingStrategy to get group and use it as key of the cache, which means the cache will include an entry for each region. This is especially unnecessary when using BoundedRegionGroupingProvider > I would suggest to change BoundedRegionGroupingProvider from a *provider* to a pluggable *strategy*, which will make the whole picture much more clear. > For more details, please refer to the patch -- This message was sent by Atlassian JIRA (v6.3.4#6332)