[ https://issues.apache.org/jira/browse/PHOENIX-5142?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Stephen Yuan Jiang reassigned PHOENIX-5142: ------------------------------------------- Assignee: Divneet Kaur > 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: 4.15.0, 5.1.0 > Reporter: Daniel Wong > Assignee: Divneet Kaur > Priority: Minor > Labels: beginner, newbie, phoenix-hardening > > 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 (v8.20.10#820010)