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

Ted Yu commented on HBASE-17487:
--------------------------------

CompactingMemStore#snapshot() doesn't declare throwing exception.

The loop inside pushPipelineToSnapshot() is supposed to handle temporary error.
However, we know there should be no 3rd iteration of the loop.

How about just changing the LOG from warn (likely to be ignored by admin) to 
error ?

> Throw exception when pushing pipeline to snapshot fails twice
> -------------------------------------------------------------
>
>                 Key: HBASE-17487
>                 URL: https://issues.apache.org/jira/browse/HBASE-17487
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Ted Yu
>            Assignee: Ted Yu
>            Priority: Minor
>         Attachments: 17487.v2.txt
>
>
> In CompactingMemStore#pushPipelineToSnapshot() , there is limit of 3 
> iterations of pipeline.swap() call after which an empty ImmutableSegment is 
> used as snapshot.
> However, there should be at most two iterations in pushPipelineToSnapshot() 
> since during the second iteration there is no concurrent write to memstore.
> We should throw exception in the 3rd iteration to signify that this scenario 
> should never happen.



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

Reply via email to