You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@phoenix.apache.org by "Karan Mehta (JIRA)" <ji...@apache.org> on 2019/05/16 06:34:00 UTC
[jira] [Commented] (PHOENIX-5142) Protect against bad scan
construction causing stack overflow
[ https://issues.apache.org/jira/browse/PHOENIX-5142?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16841026#comment-16841026 ]
Karan Mehta commented on PHOENIX-5142:
--------------------------------------
Can you add an IT to reproduce this and understand it better?
> 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
> Priority: Minor
>
> 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)