Andrew Kyle Purtell created PHOENIX-7893:
--------------------------------------------

             Summary: Populate EXPECTED_UPPER_REGION_KEY on local index scans
                 Key: PHOENIX-7893
                 URL: https://issues.apache.org/jira/browse/PHOENIX-7893
             Project: Phoenix
          Issue Type: Bug
    Affects Versions: 5.3.1, 5.4.0
            Reporter: Andrew Kyle Purtell
            Assignee: Andrew Kyle Purtell


{{LocalIndexIT}} {{testLocalIndexReverseScanShouldReturnAllRows}} and 
{{testLocalIndexUsedForUncoveredOrderBy}} can fail with a 
{{StackOverflowError}}.

The issue dates back to PHOENIX-4967 and PHOENIX-4964 when a reverse scan runs 
over a multiregion, pre-split local index. The query fails during 
{{executeQuery()}} with:

{noformat}
java.lang.StackOverflowError
    at 
org.apache.phoenix.iterate.BaseResultIterators.close(BaseResultIterators.java:1732)
    at 
org.apache.phoenix.iterate.BaseResultIterators.getIterators(BaseResultIterators.java:1635)
    at 
org.apache.phoenix.iterate.BaseResultIterators.recreateIterators(BaseResultIterators.java:1688)
    at 
org.apache.phoenix.iterate.BaseResultIterators.getIterators(BaseResultIterators.java:1584)
    at 
org.apache.phoenix.iterate.BaseResultIterators.recreateIterators(BaseResultIterators.java:1688)
    at 
org.apache.phoenix.iterate.BaseResultIterators.getIterators(BaseResultIterators.java:1584)
    ... (repeats thousands of times) ...
{noformat}

Test logs contain the same {{StaleRegionBoundaryCacheException}} more than 
10,000 times against the same region.

There are two related bugs. The first is a server-side boundary-check bug  that 
causes a permanent false-positive {{StaleRegionBoundaryCacheException}}. The 
second is an unbounded client-side retry that produces a {{StackOverflowError}} 
instead of a clean failure.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to