vogievetsky opened a new issue #9906:
URL: https://github.com/apache/druid/issues/9906


   ### Affected Version
   
   Druid 0.18.0
   
   ### Description
   
   The query `SELECT ARRAY ['Hello', NULL]` returns a (HTML formatted) stack 
overflow
   
   
![image](https://user-images.githubusercontent.com/177816/82523420-0aef5e80-9ae1-11ea-9eff-7295a4825fb9.png)
   
   Note that `SELECT ARRAY [NULL]` works fine
   
   The error (truncated)
   
   ```
   <html>
   <head>
   <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
   <title>Error 500 Server Error</title>
   </head>
   <body><h2>HTTP ERROR 500</h2>
   <p>Problem accessing /druid/v2/sql. Reason:
   <pre>    Server Error</pre></p><h3>Caused 
by:</h3><pre>javax.servlet.ServletException: java.lang.StackOverflowError
        at 
com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:420)
        at 
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:558)
        at 
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:733)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
        at 
com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:286)
        at 
com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:276)
        at 
com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:181)
        at 
com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
        at 
com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:120)
        at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:135)
        at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
        at 
org.apache.druid.server.security.PreResponseAuthorizationCheckFilter.doFilter(PreResponseAuthorizationCheckFilter.java:82)
        at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
        at 
org.apache.druid.server.security.AllowOptionsResourceFilter.doFilter(AllowOptionsResourceFilter.java:75)
        at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
        at 
org.apache.druid.server.security.AllowAllAuthenticator$1.doFilter(AllowAllAuthenticator.java:84)
        at 
org.apache.druid.server.security.AuthenticationWrappingFilter.doFilter(AuthenticationWrappingFilter.java:59)
        at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
        at 
org.apache.druid.server.security.SecuritySanityCheckFilter.doFilter(SecuritySanityCheckFilter.java:86)
        at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
        at 
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
        at 
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
        at 
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
        at 
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
        at 
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
        at 
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
        at 
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
        at 
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
        at 
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
        at 
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
        at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
        at 
org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:740)
        at 
org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:61)
        at 
org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:174)
        at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
        at org.eclipse.jetty.server.Server.handle(Server.java:503)
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
        at 
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
        at 
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
        at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
        at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
        at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
        at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
        at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
        at 
org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
        at java.lang.Thread.run(Thread.java:748)
   Caused by: java.lang.StackOverflowError
        at java.util.regex.Pattern.error(Pattern.java:1969)
        at java.util.regex.Pattern.&lt;init&gt;(Pattern.java:1354)
        at java.util.regex.Pattern.compile(Pattern.java:1054)
        at java.lang.String.replace(String.java:2239)
        at 
org.apache.calcite.sql.SqlDialect.quoteStringLiteral(SqlDialect.java:430)
        at org.apache.calcite.util.NlsString.asSql(NlsString.java:231)
        at org.apache.calcite.util.NlsString.asSql(NlsString.java:214)
        at org.apache.calcite.rex.RexLiteral.appendAsJava(RexLiteral.java:597)
        at org.apache.calcite.rex.RexLiteral.toJavaString(RexLiteral.java:385)
        at org.apache.calcite.rex.RexLiteral.computeDigest(RexLiteral.java:272)
        at org.apache.calcite.rex.RexLiteral.&lt;init&gt;(RexLiteral.java:219)
        at org.apache.calcite.rex.RexBuilder.makeLiteral(RexBuilder.java:954)
        at 
org.apache.calcite.rex.RexBuilder.makeCharLiteral(RexBuilder.java:1137)
        at org.apache.calcite.rex.RexBuilder.makeLiteral(RexBuilder.java:1367)
        at org.apache.calcite.rex.RexBuilder.makeLiteral(RexBuilder.java:1359)
        at org.apache.calcite.rex.RexBuilder.makeLiteral(RexBuilder.java:1443)
        at 
org.apache.druid.sql.calcite.planner.DruidRexExecutor.reduce(DruidRexExecutor.java:132)
        at 
org.apache.calcite.rel.rules.ReduceExpressionsRule.reduceExpressionsInternal(ReduceExpressionsRule.java:695)
        at 
org.apache.calcite.rel.rules.ReduceExpressionsRule.reduceExpressions(ReduceExpressionsRule.java:616)
        at 
org.apache.calcite.rel.rules.ReduceExpressionsRule$ProjectReduceExpressionsRule.onMatch(ReduceExpressionsRule.java:301)
        at 
org.apache.calcite.plan.AbstractRelOptPlanner.fireRule(AbstractRelOptPlanner.java:319)
        at org.apache.calcite.plan.hep.HepPlanner.applyRule(HepPlanner.java:560)
        at 
org.apache.calcite.plan.hep.HepPlanner.depthFirstApply(HepPlanner.java:374)
        at 
org.apache.calcite.plan.hep.HepPlanner.depthFirstApply(HepPlanner.java:386)
        at 
org.apache.calcite.plan.hep.HepPlanner.depthFirstApply(HepPlanner.java:386)
        at 
org.apache.calcite.plan.hep.HepPlanner.depthFirstApply(HepPlanner.java:386)
        at 
org.apache.calcite.plan.hep.HepPlanner.depthFirstApply(HepPlanner.java:386)
        at 
org.apache.calcite.plan.hep.HepPlanner.depthFirstApply(HepPlanner.java:386)
        at 
org.apache.calcite.plan.hep.HepPlanner.depthFirstApply(HepPlanner.java:386)
        at 
org.apache.calcite.plan.hep.HepPlanner.depthFirstApply(HepPlanner.java:386)
        at 
org.apache.calcite.plan.hep.HepPlanner.depthFirstApply(HepPlanner.java:386)
        at 
org.apache.calcite.plan.hep.HepPlanner.depthFirstApply(HepPlanner.java:386)
        at 
org.apache.calcite.plan.hep.HepPlanner.depthFirstApply(HepPlanner.java:386)
        at 
org.apache.calcite.plan.hep.HepPlanner.depthFirstApply(HepPlanner.java:386)
        at 
org.apache.calcite.plan.hep.HepPlanner.depthFirstApply(HepPlanner.java:386)
        at 
org.apache.calcite.plan.hep.HepPlanner.depthFirstApply(HepPlanner.java:386)
        at 
org.apache.calcite.plan.hep.HepPlanner.depthFirstApply(HepPlanner.java:386)
        at 
org.apache.calcite.plan.hep.HepPlanner.depthFirstApply(HepPlanner.java:386)
        at 
org.apache.calcite.plan.hep.HepPlanner.depthFirstApply(HepPlanner.java:386)
        at 
org.apache.calcite.plan.hep.HepPlanner.depthFirstApply(HepPlanner.java:386)
           ...
   ```


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to