You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2017/11/18 00:24:00 UTC
[jira] [Commented] (ASTERIXDB-2165) OOM in QueryServiceServlet
[ https://issues.apache.org/jira/browse/ASTERIXDB-2165?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16257799#comment-16257799 ]
ASF subversion and git services commented on ASTERIXDB-2165:
------------------------------------------------------------
Commit ed5fc81724d31abbc92eeb60ded2518b91544ad0 in asterixdb's branch refs/heads/master from [~tillw]
[ https://git-wip-us.apache.org/repos/asf?p=asterixdb.git;h=ed5fc81 ]
[ASTERIXDB-2165] Avoid OOM in QueryServiceServlet
- user model changes: no
- storage format changes: no
- interface change: no
Change-Id: I74f61941f2e75e10f2accd6b2e6be6c1c0cd1490
Reviewed-on: https://asterix-gerrit.ics.uci.edu/2150
Sonar-Qube: Jenkins <je...@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <je...@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
Reviewed-by: Murtadha Hubail <mh...@apache.org>
> 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)