Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id EE20D200BF7 for ; Mon, 9 Jan 2017 12:08:01 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id ECC91160B49; Mon, 9 Jan 2017 11:08:01 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 42FA3160B3E for ; Mon, 9 Jan 2017 12:08:01 +0100 (CET) Received: (qmail 63326 invoked by uid 500); 9 Jan 2017 11:07:59 -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 63201 invoked by uid 99); 9 Jan 2017 11:07:59 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 09 Jan 2017 11:07:59 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id 885C02C2A6E for ; Mon, 9 Jan 2017 11:07:59 +0000 (UTC) Date: Mon, 9 Jan 2017 11:07:59 +0000 (UTC) From: "ramkrishna.s.vasudevan (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HBASE-17434) New Synchronization Scheme for Compaction Pipeline MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Mon, 09 Jan 2017 11:08:02 -0000 [ https://issues.apache.org/jira/browse/HBASE-17434?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15811493#comment-15811493 ] ramkrishna.s.vasudevan commented on HBASE-17434: ------------------------------------------------ So in this patch if applied on top of HBASE-17081 - will work with the assumption that even when we do getScanners() and got the readOnly copy - either the current active is not in the pipeline or it may be in the pipeline. It could also be that after the getSegments() was done by getScanners() the 'active' got reset to a new one but still we assume it is fine? And more importantly all the operations in getScanners() in HBASE-17081 will be done on the readOnlyCopy? > New Synchronization Scheme for Compaction Pipeline > -------------------------------------------------- > > Key: HBASE-17434 > URL: https://issues.apache.org/jira/browse/HBASE-17434 > Project: HBase > Issue Type: Bug > Reporter: Eshcar Hillel > Assignee: Eshcar Hillel > Attachments: HBASE-17434-V01.patch, HBASE-17434-V02.patch, HBASE-17434-V03.patch > > > A new copyOnWrite synchronization scheme is introduced for the compaction pipeline. > The new scheme is better since it removes the lock from getSegments() which is invoked in every get and scan operation, and it reduces the number of LinkedList objects that are created at runtime, thus can reduce GC (not by much, but still...). > In addition, it fixes the method getTailSize() in compaction pipeline. This method creates a MemstoreSize object which comprises the data size and the overhead size of the segment and needs to be atomic. -- This message was sent by Atlassian JIRA (v6.3.4#6332)