You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Ankit Singhal (JIRA)" <ji...@apache.org> on 2017/11/13 10:22:00 UTC

[jira] [Commented] (PHOENIX-4318) Fix IndexHalfStoreFileReader and related classes

    [ https://issues.apache.org/jira/browse/PHOENIX-4318?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16249346#comment-16249346 ] 

Ankit Singhal commented on PHOENIX-4318:
----------------------------------------

[~anoop.hbase], can you please help me with these questions.

-- There is no public constructor to create StoreScanner from list of StoreFileScanners except for compaction. should we use selectScannersFrom() but it is also annotated as visibleForTesting ?
-- preCompactScannerOpen() doesn't allow to return scanner, can I use preCompact() hook to change the scanner?
-- How to manage refCount and "shared" for custom StoreFileReader(IndexHalfStoreFileReader) for StoreFiles. 
-- preStoreScannerOpen doesn't allow to return scanner now, is there any alternatives to change StoreScanners?
-- can we give scanOrder like this :-
{code}
int i =0;
        for (HStoreFile sf : referenceStoreFiles) {
            if (sf.getReader() instanceof IndexHalfStoreFileReader) {
                keyValueScanners.add(new LocalIndexStoreFileScanner(sf.getReader(), sf.getReader()
                        .getScanner(scan.getCacheBlocks(), scanUsePread, false), true, sf
                        .getReader().getHFileReader().hasMVCCInfo(), readPt,*i*,false));
            } else {
                keyValueScanners.add(new StoreFileScanner(sf.getReader(), sf.getReader()
                        .getScanner(scan.getCacheBlocks(), scanUsePread, false), true, sf
                        .getReader().getHFileReader().hasMVCCInfo(), readPt,*i*,false));
            }
            i++;
        }
{code}


> Fix IndexHalfStoreFileReader and related classes
> ------------------------------------------------
>
>                 Key: PHOENIX-4318
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-4318
>             Project: Phoenix
>          Issue Type: Sub-task
>            Reporter: Ankit Singhal
>            Assignee: Ankit Singhal
>              Labels: HBase-2.0
>             Fix For: 4.14.0
>
>         Attachments: PHOENIX-4318_wip.patch, PHOENIX-4318_wip3.patch
>
>
> These classes use the internals of HBase.(And most of them are not accessible in HBase 2.0)
> phoenix-core/src/main/java/org/apache/hadoop/hbase/regionserver/LocalIndexStoreFileScanner.java
> phoenix-core/src/main/java/org/apache/hadoop/hbase/regionserver/IndexHalfStoreFileReader.java
> phoenix-core/src/main/java/org/apache/hadoop/hbase/regionserver/IndexHalfStoreFileReaderGenerator.java
> phoenix-core/src/main/java/org/apache/phoenix/coprocessor/DelegateRegionScanner.java
> phoenix-core/src/main/java/org/apache/phoenix/util/IndexUtil.java
> phoenix-core/src/main/java/org/apache/phoenix/coprocessor/DelegateRegionObserver.java



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)