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

ramkrishna.s.vasudevan commented on HBASE-16608:
------------------------------------------------

Went thro the code. 
{code}
 try {
      Action nextStep = policy();
      switch (nextStep){
      case FLATTEN:   // Youngest Segment in the pipeline is with SkipList 
index, make it flat
        compactingMemStore.flattenOneSegment(versionedList.getVersion());
      case NOP:       // intentionally falling through
        return;
      case MERGE:
      case COMPACT:
        break;
      default: throw new RuntimeException("Unknown action " + action); // 
sanity check
      }

      // Create one segment representing all segments in the compaction 
pipeline,
      // either by compaction or by merge
      if (!isInterrupted.get()) {
        result = createSubstitution();
      }
{code}
So if the policy returns FLATTEN we do flatten and also do the substitution if 
the 'action' is already MERGE?
I ran the test - there is no full GC issue now because we keep on doing merge 
but since the flush is not flushing all the segments there are lot of blocking 
writes and that totally slows down the client and after some point of time 
almost no mutation reach the server. There are also other issues but may not be 
realted to this patch.
Thanks.

> Introducing the ability to merge ImmutableSegments without copy-compaction or 
> SQM usage
> ---------------------------------------------------------------------------------------
>
>                 Key: HBASE-16608
>                 URL: https://issues.apache.org/jira/browse/HBASE-16608
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Anastasia Braginsky
>            Assignee: Anastasia Braginsky
>         Attachments: HBASE-16417-V02.patch, HBASE-16417-V04.patch
>
>




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to