[ 
https://issues.apache.org/jira/browse/PHOENIX-5142?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Wong updated PHOENIX-5142:
---------------------------------
    Fix Version/s: 5.1.0

> 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
>    Affects Versions: 5.1.0
>            Reporter: Daniel Wong
>            Priority: Minor
>             Fix For: 5.1.0
>
>
> 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.14#76016)

Reply via email to