[
https://issues.apache.org/jira/browse/ASTERIXDB-2165?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Till resolved ASTERIXDB-2165.
-----------------------------
Resolution: Fixed
> OOM in QueryServiceServlet
> --------------------------
>
> Key: ASTERIXDB-2165
> URL: https://issues.apache.org/jira/browse/ASTERIXDB-2165
> Project: Apache AsterixDB
> Issue Type: Bug
> Components: *DB - AsterixDB, API - HTTP API
> Reporter: Till
> Assignee: Till
>
> The QueryServiceServlet currently materializes the whole response before
> returning it.
> On large responses this can cause an OutOfMemoryError:
> {noformat}
> java.lang.OutOfMemoryError: null
> at
> java.lang.AbstractStringBuilder.hugeCapacity(AbstractStringBuilder.java:161)
> ~[?:1.8.0_152]
> at
> java.lang.AbstractStringBuilder.newCapacity(AbstractStringBuilder.java:155)
> ~[?:1.8.0_152]
> at
> java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:125)
> ~[?:1.8.0_152]
> at
> java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:448)
> ~[?:1.8.0_152]
> at java.lang.StringBuffer.append(StringBuffer.java:270) ~[?:1.8.0_152]
> at java.io.StringWriter.write(StringWriter.java:112) ~[?:1.8.0_152]
> at java.io.PrintWriter.write(PrintWriter.java:456) ~[?:1.8.0_152]
> at java.io.PrintWriter.write(PrintWriter.java:473) ~[?:1.8.0_152]
> at java.io.PrintWriter.print(PrintWriter.java:603) ~[?:1.8.0_152]
> at
> org.apache.asterix.app.result.ResultPrinter.displayRecord(ResultPrinter.java:187)
> ~[asterix-app-1.0.0-cbas-dp4.jar:1.0.0-cbas-dp4]
> at
> org.apache.asterix.app.result.ResultPrinter.print(ResultPrinter.java:224)
> ~[asterix-app-1.0.0-cbas-dp4.jar:1.0.0-cbas-dp4]
> at
> org.apache.asterix.api.http.server.ResultUtil.printResults(ResultUtil.java:81)
> ~[asterix-app-1.0.0-cbas-dp4.jar:1.0.0-cbas-dp4]
> at
> org.apache.asterix.api.http.server.NCQueryServiceServlet.executeStatement(NCQueryServiceServlet.java:125)
> ~[asterix-app-1.0.0-cbas-dp4.jar:1.0.0-cbas-dp4]
> at
> org.apache.asterix.api.http.server.QueryServiceServlet.handleRequest(QueryServiceServlet.java:413)
> ~[asterix-app-1.0.0-cbas-dp4.jar:1.0.0-cbas-dp4]
> at
> org.apache.asterix.api.http.server.QueryServiceServlet.post(QueryServiceServlet.java:97)
> [asterix-app-1.0.0-cbas-dp4.jar:1.0.0-cbas-dp4]
> at
> org.apache.hyracks.http.server.AbstractServlet.handle(AbstractServlet.java:91)
> [hyracks-http-1.0.0-cbas-dp4.jar:1.0.0-cbas-dp4]
> at
> com.couchbase.analytics.servlet.AuthenticatedServlet.handle(AuthenticatedServlet.java:67)
> [cbas-server-1.0.0-cbas-dp4.jar:1.0.0-cbas-dp4]
> at
> org.apache.hyracks.http.server.HttpRequestHandler.handle(HttpRequestHandler.java:70)
> [hyracks-http-1.0.0-cbas-dp4.jar:1.0.0-cbas-dp4]
> at
> org.apache.hyracks.http.server.HttpRequestHandler.call(HttpRequestHandler.java:55)
> [hyracks-http-1.0.0-cbas-dp4.jar:1.0.0-cbas-dp4]
> at
> org.apache.hyracks.http.server.HttpRequestHandler.call(HttpRequestHandler.java:36)
> [hyracks-http-1.0.0-cbas-dp4.jar:1.0.0-cbas-dp4]
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> [?:1.8.0_152]
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> [?:1.8.0_152]
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> [?:1.8.0_152]
> at java.lang.Thread.run(Thread.java:748) [?:1.8.0_152]
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)