[
https://issues.apache.org/jira/browse/HBASE-15759?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Marek Srank updated HBASE-15759:
--------------------------------
Description:
RegionObserver.preStoreScannerOpen() doesn't have acces to current readpoint.
This is crucial e.g. when creating a new StoreScanner.
Although it is possible to obtain the readpoint via following workaround:
((HStore)store).getHRegion().getReadpoint(IsolationLevel.READ_COMMITTED)
...it presumes some knowledge of HBase internals and is not a clear option for
user.
The problem was introduced in HBASE-9754, where readpoint was introduced as an
argument to StoreScanner constructor, but wasn't passed to the
preStoreScannerOpen() hook in HStore.getScanner().
In our case it led to bug, when we were incorrectly using smallestReadpoint()
instead, which made coprocessor missing data in some cases [1].
__________
[1]
http://mail-archives.apache.org/mod_mbox/hbase-dev/201604.mbox/%3CCAOUjMkwptCGacQ0d-4yOinDVBT%2Bbi2NOZee0fSbq%2Bk1R6V4-aw%40mail.gmail.com%3E
was:
RegionObserver.preStoreScannerOpen() doesn't have acces to current readpoint.
This is crucial e.g. when creating a new StoreScanner.
Although it is possible to obtain the readpoint via following workaround:
((HStore)store).getHRegion().getReadpoint(IsolationLevel.READ_COMMITTED)
...it presumes some knowledge of HBase internals and is not a clear option for
user.
The problem was introduced in HBASE-9754, where readpoint was introduced as an
argument to StoreScanner constructor, but wasn't passed to the
preStoreScannerOpen() hook in HStore.getScanner().
In our case it lead to bug, when we were incorrectly using smallestReadpoint()
instead, which made coprocessor missing data in some cases [1].
__________
[1]
http://mail-archives.apache.org/mod_mbox/hbase-dev/201604.mbox/%3CCAOUjMkwptCGacQ0d-4yOinDVBT%2Bbi2NOZee0fSbq%2Bk1R6V4-aw%40mail.gmail.com%3E
> RegionObserver.preStoreScannerOpen() doesn't have acces to current readpoint
> ----------------------------------------------------------------------------
>
> Key: HBASE-15759
> URL: https://issues.apache.org/jira/browse/HBASE-15759
> Project: HBase
> Issue Type: Improvement
> Components: Coprocessors
> Reporter: Marek Srank
> Priority: Minor
> Labels: coprocessors
> Attachments: 15759.v1.patch
>
>
> RegionObserver.preStoreScannerOpen() doesn't have acces to current readpoint.
> This is crucial e.g. when creating a new StoreScanner.
> Although it is possible to obtain the readpoint via following workaround:
> ((HStore)store).getHRegion().getReadpoint(IsolationLevel.READ_COMMITTED)
> ...it presumes some knowledge of HBase internals and is not a clear option
> for user.
> The problem was introduced in HBASE-9754, where readpoint was introduced as
> an argument to StoreScanner constructor, but wasn't passed to the
> preStoreScannerOpen() hook in HStore.getScanner().
> In our case it led to bug, when we were incorrectly using smallestReadpoint()
> instead, which made coprocessor missing data in some cases [1].
> __________
> [1]
> http://mail-archives.apache.org/mod_mbox/hbase-dev/201604.mbox/%3CCAOUjMkwptCGacQ0d-4yOinDVBT%2Bbi2NOZee0fSbq%2Bk1R6V4-aw%40mail.gmail.com%3E
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)