> On Oct. 15, 2016, 3:18 a.m., Michael Stack wrote: > > hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/CompactionPipeline.java, > > line 93 > > <https://reviews.apache.org/r/51785/diff/8/?file=1535771#file1535771line93> > > > > Why not do this always? Why an option?
This is exactly the merge case. As you can see when merging the segments in the pipeline we do not copy the data. Meaning we create a new segment with new MSLAB, but this new MSLAB is referencing the chunks also referenced by the MSLABs of the old segments. We can not close any MSLAB in this chain of merges as they all are referencing the same chunks with data. The last MSLAB will be closed when the flush to disk will come. > On Oct. 15, 2016, 3:18 a.m., Michael Stack wrote: > > hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/CompactionPipeline.java, > > line 213 > > <https://reviews.apache.org/r/51785/diff/8/?file=1535771#file1535771line213> > > > > Yeah, why this optional at all? Why not close all the time. Explained in the comment above. - Anastasia ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/51785/#review152770 ----------------------------------------------------------- On Oct. 14, 2016, 7:19 a.m., Anastasia Braginsky wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/51785/ > ----------------------------------------------------------- > > (Updated Oct. 14, 2016, 7:19 a.m.) > > > Review request for hbase. > > > Repository: hbase-git > > > Description > ------- > > This is a step toward final compacting memstore that allowes two modes of > work: index-compaction and data-compaction. > > The index-compaction means that when the new segment is pushed into the > pipeline, it is flattened and probably merged with old segments in the > pipeline. The new merge "feature" induces no data-copy-compaction and no > speculative SQM scan. > The compacting memstore of the data-compaction type means the usage of the > data-copy-compaction. > > > Diffs > ----- > > > hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/CompactingMemStore.java > 177f222 > > hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/CompactionPipeline.java > 6a13f43 > > hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HeapMemStoreLAB.java > 378601d > > hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ImmutableSegment.java > 12b7916 > > hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreCompactor.java > 714ffe3 > > hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreCompactorIterator.java > 9798ec2 > > hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreCompactorSegmentsIterator.java > PRE-CREATION > > hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreMergerSegmentsIterator.java > PRE-CREATION > > hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreSegmentsIterator.java > PRE-CREATION > > hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SegmentFactory.java > 510ebbd > > hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/VersionedSegmentsList.java > 2e8bead > > hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompactingMemStore.java > 211a6d8 > > hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompactingToCellArrayMapMemStore.java > f89a040 > > hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMemStoreLAB.java > 1ea5112 > > hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestPerColumnFamilyFlush.java > 6bfaa59 > > hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestWalAndCompactingMemStoreFlush.java > 74826b0 > > Diff: https://reviews.apache.org/r/51785/diff/ > > > Testing > ------- > > > Thanks, > > Anastasia Braginsky > >