[
https://issues.apache.org/jira/browse/HBASE-6499?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ted Yu updated HBASE-6499:
--------------------------
Attachment: 6499-trunk-v2.txt
Patch v2 is rebased on trunk.
> StoreScanner's QueryMatcher not reset on store update
> -----------------------------------------------------
>
> Key: HBASE-6499
> URL: https://issues.apache.org/jira/browse/HBASE-6499
> Project: HBase
> Issue Type: Bug
> Components: regionserver
> Affects Versions: 0.96.0
> Reporter: Max Lapan
> Assignee: Max Lapan
> Attachments: 6499-trunk-v2.txt, StoreScanner_not_reset_matcher.patch
>
>
> When underlying store changed (due compact, bulk load, etc), we destroy
> current KeyValueHeap and recreate it using checkReseek call. Besides heap
> recreation, it resets underlying QueryMatcher instance.
> The problem is that checkReseek not called by seek() and reseek(), only by
> next(). If someone calls seek() just after store changed, it gets wrong
> scanner results. Call to reseek may end up with NPE.
> AFAIK, current codebase don't call seek and reseek, but it is quite possible
> in future. Personally, I spent lots of time to find source of wrong scanner
> results in HBASE-5416.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira