Daniel Wong created PHOENIX-5142:
------------------------------------
Summary: Protect against bad scan construction causing stack
overflow
Key: PHOENIX-5142
URL: https://issues.apache.org/jira/browse/PHOENIX-5142
Project: Phoenix
Issue Type: Improvement
Reporter: Daniel Wong
During implementation changes I created an issue where a bad set of scans were
generated. These scans crossed region boundaries incorrectly. This led
Phoenix to believe the cache was out of date and triggered a retry attempt in a
recursive manner until the stack overflowed. We may want to protect against
this type of failure by limiting the depth of the recursion and returning an
exception to the user.
{code:java}
java.lang.StackOverflowError at
java.security.AccessController.doPrivileged(Native Method) at
java.io.PrintWriter.<init>(PrintWriter.java:116) at
java.io.PrintWriter.<init>(PrintWriter.java:100) at
org.apache.log4j.DefaultThrowableRenderer.render(DefaultThrowableRenderer.java:58)
at
org.apache.log4j.spi.ThrowableInformation.getThrowableStrRep(ThrowableInformation.java:87)
at org.apache.log4j.spi.LoggingEvent.getThrowableStrRep(LoggingEvent.java:413)
at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:313) at
org.apache.log4j.WriterAppender.append(WriterAppender.java:162) at
org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:251) at
org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:66)
at org.apache.log4j.Category.callAppenders(Category.java:206) at
org.apache.log4j.Category.forcedLog(Category.java:391) at
org.apache.log4j.Category.log(Category.java:856) at
org.slf4j.impl.Log4jLoggerAdapter.info(Log4jLoggerAdapter.java:382) at
org.apache.phoenix.iterate.BaseResultIterators.close(BaseResultIterators.java:1568)
at
org.apache.phoenix.iterate.BaseResultIterators.getIterators(BaseResultIterators.java:1475)
at
org.apache.phoenix.iterate.BaseResultIterators.recreateIterators(BaseResultIterators.java:1523)
at
org.apache.phoenix.iterate.BaseResultIterators.getIterators(BaseResultIterators.java:1441)
at
org.apache.phoenix.iterate.BaseResultIterators.recreateIterators(BaseResultIterators.java:1523)
at
org.apache.phoenix.iterate.BaseResultIterators.getIterators(BaseResultIterators.java:1441)
at
org.apache.phoenix.iterate.BaseResultIterators.recreateIterators(BaseResultIterators.java:1523)
at
org.apache.phoenix.iterate.BaseResultIterators.getIterators(BaseResultIterators.java:1441)
at
org.apache.phoenix.iterate.BaseResultIterators.recreateIterators(BaseResultIterators.java:1523)
at
org.apache.phoenix.iterate.BaseResultIterators.getIterators(BaseResultIterators.java:1441)
at
org.apache.phoenix.iterate.BaseResultIterators.recreateIterators(BaseResultIterators.java:1523)
at
org.apache.phoenix.iterate.BaseResultIterators.getIterators(BaseResultIterators.java:1441)
....
{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)