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)