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 44846200C63 for ; Thu, 27 Apr 2017 00:54:10 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 4346C160BA8; Wed, 26 Apr 2017 22:54: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 94296160BBB for ; Thu, 27 Apr 2017 00:54:09 +0200 (CEST) Received: (qmail 6935 invoked by uid 500); 26 Apr 2017 22:54: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 6784 invoked by uid 99); 26 Apr 2017 22:54: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; Wed, 26 Apr 2017 22:54: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 DC65B188C40 for ; Wed, 26 Apr 2017 22:54:06 +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 DFEhgsOkSuL8 for ; Wed, 26 Apr 2017 22:54:06 +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 D0FE15FC8C for ; Wed, 26 Apr 2017 22:54:05 +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 353F2E0D28 for ; Wed, 26 Apr 2017 22:54:05 +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 4DD9A21DE5 for ; Wed, 26 Apr 2017 22:54:04 +0000 (UTC) Date: Wed, 26 Apr 2017 22:54:04 +0000 (UTC) From: "Sean Busbey (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: Wed, 26 Apr 2017 22:54:10 -0000 [ https://issues.apache.org/jira/browse/HBASE-15296?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sean Busbey updated HBASE-15296: -------------------------------- Status: Open (was: Patch Available) (moving out of patch available since the branch-1 version no longer applies) Can we move doing this for branch-1 into a different JIRA? Presuming we're keeping the incompatible version for master, having both a compatible and incompatible implementation in a single jira makes it harder to disambiguate which branch each relates to. > 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-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)