[
https://issues.apache.org/jira/browse/HBASE-19095?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16224011#comment-16224011
]
Eshcar Hillel commented on HBASE-19095:
---------------------------------------
Indeed currently MemStoreCompactorSegmentsIterator::createScanner() creates a
StoreScanner to do in-memory compaction, and it invokes the StoreScanner
constructor without adding the CP hooks.
What if we add a ScanInfo object to this method parameters and then invoke it
like the code in HBASE-19033.
So the constructor of MemStoreCompactorSegmentsIterator will include the
following code
{code}
ScanInfo scanInfo;
if (store.getCoprocessorHost() != null) {
scanInfo =
store.getCoprocessorHost().preInMemoryCompactScannerOpen(store, user);
} else {
scanInfo = store.getScanInfo();
}
compactingScanner = createScanner(store, scanInfo, scanners);
{code}
This requires adding one more method to RegionObserver -
preInMemoryCompactScannerOpen(store, user), similar to the three methods in
HBASE-19033.
Is this enough to solve the problem?
> Add CP hooks in RegionObserver for in memory compaction
> -------------------------------------------------------
>
> Key: HBASE-19095
> URL: https://issues.apache.org/jira/browse/HBASE-19095
> Project: HBase
> Issue Type: Sub-task
> Components: Coprocessors
> Reporter: Duo Zhang
> Fix For: 2.0.0-beta-1
>
>
> This is a hole in our CP hooks.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)