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 54FD1200AF7 for ; Tue, 10 May 2016 03:44:15 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 5212B160A0F; Tue, 10 May 2016 01:44:15 +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 AB491160A10 for ; Tue, 10 May 2016 03:44:14 +0200 (CEST) Received: (qmail 43242 invoked by uid 500); 10 May 2016 01:44:13 -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 43178 invoked by uid 99); 10 May 2016 01:44:13 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 10 May 2016 01:44:13 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id 2551A2C1F7A for ; Tue, 10 May 2016 01:44:13 +0000 (UTC) Date: Tue, 10 May 2016 01:44:13 +0000 (UTC) From: "Appy (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (HBASE-15296) Break out writer and reader from StoreFile MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Tue, 10 May 2016 01:44:15 -0000 [ https://issues.apache.org/jira/browse/HBASE-15296?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Appy updated HBASE-15296: ------------------------- Status: Patch Available (was: Reopened) > Break out writer and reader from StoreFile > ------------------------------------------ > > Key: HBASE-15296 > URL: https://issues.apache.org/jira/browse/HBASE-15296 > Project: HBase > Issue Type: Improvement > Components: regionserver > Reporter: Appy > Assignee: Appy > Fix For: 2.0.0 > > Attachments: HBASE-15296-branch-1.1.patch, HBASE-15296-branch-1.2.patch, HBASE-15296-branch-1.patch, HBASE-15296-branch-1.patch, HBASE-15296-master-v2.patch, HBASE-15296-master-v3.patch, HBASE-15296-master-v4.patch, HBASE-15296-master-v5.patch, HBASE-15296-master.patch > > > StoreFile.java is trending to become a monolithic class, it's ~1800 lines. Would it make sense to break out reader and writer (~500 lines each) into separate files. > We are doing so many different things in a single class: comparators, reader, writer, other stuff; and it hurts readability a lot, to the point that just reading through a piece of code require scrolling up and down to see which level (reader/writer/base class level) it belongs to. These small-small things really don't help while trying to understanding the code. There are good reasons we don't do these often (affects existing patches, needs to be done for all branches, etc). But this and a few other classes can really use a single iteration of refactoring to make things a lot better. -- This message was sent by Atlassian JIRA (v6.3.4#6332)