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 2F94D200C80 for ; Thu, 11 May 2017 05:48:10 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 2E280160BB4; Thu, 11 May 2017 03:48:10 +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 7627C160B9C for ; Thu, 11 May 2017 05:48:09 +0200 (CEST) Received: (qmail 85127 invoked by uid 500); 11 May 2017 03:48:08 -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 85114 invoked by uid 99); 11 May 2017 03:48:08 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 11 May 2017 03:48:08 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 32C761813F6 for ; Thu, 11 May 2017 03:48:08 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -100.002 X-Spam-Level: X-Spam-Status: No, score=-100.002 tagged_above=-999 required=6.31 tests=[RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, USER_IN_WHITELIST=-100] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id tsH9Gjx76Ib6 for ; Thu, 11 May 2017 03:48:07 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTP id 1FE8E5FC4D for ; Thu, 11 May 2017 03:48:07 +0000 (UTC) Received: from jira-lw-us.apache.org (unknown [207.244.88.139]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id A3AABE0940 for ; Thu, 11 May 2017 03:48:06 +0000 (UTC) Received: from jira-lw-us.apache.org (localhost [127.0.0.1]) by jira-lw-us.apache.org (ASF Mail Server at jira-lw-us.apache.org) with ESMTP id 0CF8921E10 for ; Thu, 11 May 2017 03:48:05 +0000 (UTC) Date: Thu, 11 May 2017 03:48:05 +0000 (UTC) From: "Duo Zhang (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: Thu, 11 May 2017 03:48:10 -0000 [ https://issues.apache.org/jira/browse/HBASE-15296?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Duo Zhang updated HBASE-15296: ------------------------------ Affects Version/s: 2.0.0 > 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 > Affects Versions: 2.0.0 > 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-branch-1-v1.patch, HBASE-15296-master.patch, HBASE-15296-master-v2.patch, HBASE-15296-master-v3.patch, HBASE-15296-master-v4.patch, HBASE-15296-master-v5.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.15#6346)