hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Appy (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-15296) Break out writer and reader from StoreFile
Date Thu, 14 Apr 2016 01:06:25 GMT

    [ https://issues.apache.org/jira/browse/HBASE-15296?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15240347#comment-15240347
] 

Appy commented on HBASE-15296:
------------------------------

Good to commit now.
Scala docs issues are unrelated and are being fixed in https://issues.apache.org/jira/browse/HBASE-15644
Net Checkstyle diff: 29 fixed. I want to avoid an iteration because these aren't new checkstyles
but already existed.

More importantly, our code requires lot of refactoring like this. And the easier we make it,
the more people might consider doing it. One of the things we can do is, waive the checkstyle
restriction in large refactoring if the net diff +ve (like in this case).
@stack: good to commit.

> 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
>         Attachments: HBASE-15296-branch-1.1.patch, HBASE-15296-branch-1.2.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)

Mime
View raw message