[ 
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)

Reply via email to