[
https://issues.apache.org/jira/browse/PHOENIX-2628?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15225583#comment-15225583
]
ASF GitHub Bot commented on PHOENIX-2628:
-----------------------------------------
Github user JamesRTaylor commented on a diff in the pull request:
https://github.com/apache/phoenix/pull/156#discussion_r58481703
--- Diff:
phoenix-core/src/main/java/org/apache/phoenix/coprocessor/BaseScannerRegionObserver.java
---
@@ -279,6 +301,31 @@ protected RegionScanner getWrappedScanner(final
ObserverContext<RegionCoprocesso
final ImmutableBytesWritable ptr) {
return new RegionScanner() {
+ private boolean hasReferences = checkForReferenceFiles();
+ private HRegionInfo regionInfo =
c.getEnvironment().getRegionInfo();
+ private byte[] actualStartKey = getActualStartKey();
+
+ private boolean checkForReferenceFiles(){
+ for(byte[] family: scan.getFamilies()) {
+
if(c.getEnvironment().getRegion().getStore(family).hasReferences()) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public byte[] getActualStartKey() {
+ if(ScanUtil.isLocalIndex(scan) &&
scan.getAttribute(SCAN_START_ROW_SUFFIX)!=null) {
+ byte[] startKey =
ScanRanges.prefixKey(scan.getAttribute(SCAN_START_ROW_SUFFIX), 0,
regionInfo.getStartKey().length == 0 ? new byte[regionInfo.getEndKey().length]:
regionInfo.getStartKey(), regionInfo.getStartKey().length == 0?
regionInfo.getEndKey().length: regionInfo.getStartKey().length);
+ if(Bytes.compareTo(scan.getStartRow(), startKey)>=0) {
+ return scan.getStartRow();
+ } else {
+ return startKey;
+ }
+ }
+ return null;
+ }
+
@Override
public boolean next(List<Cell> results) throws IOException {
--- End diff --
Can we refactor the code between these two next(List<Cell>, ...)
implementations, as there's now a fair amount of code which is duplicated here?
> Ensure split when iterating through results handled correctly
> -------------------------------------------------------------
>
> Key: PHOENIX-2628
> URL: https://issues.apache.org/jira/browse/PHOENIX-2628
> Project: Phoenix
> Issue Type: Bug
> Reporter: James Taylor
> Assignee: Rajeshbabu Chintaguntla
> Fix For: 4.8.0
>
> Attachments: PHOENIX-2628-wip.patch, PHOENIX-2628.patch,
> PHOENIX-2628_v7.patch, PHOENIX-2628_v8.patch
>
>
> We should start with a test case to ensure this works correctly, both for
> scans and aggregates.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)