[
https://issues.apache.org/jira/browse/HBASE-5121?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13181735#comment-13181735
]
chunhui shen commented on HBASE-5121:
-------------------------------------
@Ted
when majorcompaction changes storescanner.peek, we need to tell the upper
storeheap(regionscanner's heap) to resort this storescanner again.
we have tried some other approaches for the above motivation.But we think
throwing an exception is much easier and available to transfer the message of
peek changed.
It only happen in a read handler. So it is healthy and will not affect the
kernal thread of regionserver.
If there are other approaches, I'd like to discuss about them.
Thanks.
> MajorCompaction may affect scan's correctness
> ---------------------------------------------
>
> Key: HBASE-5121
> URL: https://issues.apache.org/jira/browse/HBASE-5121
> Project: HBase
> Issue Type: Bug
> Components: regionserver
> Affects Versions: 0.90.4
> Reporter: chunhui shen
> Assignee: chunhui shen
> Priority: Critical
> Fix For: 0.94.0, 0.92.1, 0.90.6
>
> Attachments: 5121-trunk-combined.txt, 5121.90,
> hbase-5121-testcase.patch, hbase-5121.patch, hbase-5121v2.patch
>
>
> In our test, there are two families' keyvalue for one row.
> But we could find a infrequent problem when doing scan's next if
> majorCompaction happens concurrently.
> In the client's two continuous doing scan.next():
> 1.First time, scan's next returns the result where family A is null.
> 2.Second time, scan's next returns the result where family B is null.
> The two next()'s result have the same row.
> If there are more families, I think the scenario will be more strange...
> We find the reason is that storescanner.peek() is changed after
> majorCompaction if there are delete type KeyValue.
> This change causes the PriorityQueue<KeyValueScanner> of RegionScanner's heap
> is not sure to be sorted.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira