You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Andrew Kyle Purtell (Jira)" <ji...@apache.org> on 2026/06/10 19:38:00 UTC

[jira] [Created] (PHOENIX-7893) Populate EXPECTED_UPPER_REGION_KEY on local index scans

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)