[ https://issues.apache.org/jira/browse/HBASE-15296?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15241001#comment-15241001 ]
Hudson commented on HBASE-15296: -------------------------------- FAILURE: Integrated in HBase-Trunk_matrix #848 (See [https://builds.apache.org/job/HBase-Trunk_matrix/848/]) HBASE-15296 Break out writer and reader from StoreFile. Done using (stack: rev 7efb9edecbdf8b35046230575d504e4caeb80f34) * hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestScanWithBloomError.java * hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestCachedMobFile.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DefaultStoreFlusher.java * hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCacheOnWriteInSchema.java * hbase-spark/src/main/scala/org/apache/hadoop/hbase/spark/HBaseContext.scala * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/DefaultCompactor.java * hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/DataBlockEncodingTool.java * hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/RegionObserver.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/Store.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DateTieredMultiFileWriter.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/AbstractMultiOutputCompactor.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/Compactor.java * hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/MockStoreFile.java * hbase-server/src/main/java/org/apache/hadoop/hbase/mob/MobUtils.java * hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.java * hbase-server/src/main/java/org/apache/hadoop/hbase/mob/compactions/PartitionedMobCompactor.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileScanner.java * hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFile.java * hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java * hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseRegionObserver.java * hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/compactions/MockStoreFileGenerator.java * hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestReversibleScanners.java * hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/SimpleRegionObserver.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreUtils.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StripeMultiFileWriter.java * hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestCacheOnWrite.java * hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStripeStoreEngine.java * hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestFSErrorsExposed.java * hbase-server/src/main/java/org/apache/hadoop/hbase/io/HalfStoreFileReader.java * hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekBeforeWithInlineBlocks.java * hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/CreateRandomStoreFile.java * hbase-server/src/main/java/org/apache/hadoop/hbase/mob/mapreduce/MemStoreWrapper.java * hbase-server/src/main/java/org/apache/hadoop/hbase/mob/DefaultMobStoreCompactor.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileInfo.java * hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/EncodedSeekPerformanceTest.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileWriter.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFlusher.java * hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompoundBloomFilter.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java * hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/CompoundBloomFilterWriter.java * hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobFile.java * hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompaction.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HMobStore.java * hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobFileCache.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/AbstractMultiFileWriter.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/CompactionRequest.java * hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/compactions/TestStripeCompactionPolicy.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileReader.java * hbase-server/src/main/java/org/apache/hadoop/hbase/mob/DefaultMobStoreFlusher.java * hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStore.java * hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHMobStore.java * hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/compactions/TestCompactor.java * hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.java * hbase-server/src/test/java/org/apache/hadoop/hbase/mob/compactions/TestPartitionedMobCompactor.java * hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFileScannerWithTagCompression.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java * hbase-server/src/test/java/org/apache/hadoop/hbase/mob/MobTestUtil.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StripeStoreFlusher.java * hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestPrefetch.java > 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-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)