Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 5D556200D3C for ; Tue, 14 Nov 2017 17:47:35 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 5BFBA160BF4; Tue, 14 Nov 2017 16:47:35 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id A2CA5160BD7 for ; Tue, 14 Nov 2017 17:47:34 +0100 (CET) Received: (qmail 9481 invoked by uid 500); 14 Nov 2017 16:47:33 -0000 Mailing-List: contact notifications-help@asterixdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@asterixdb.apache.org Delivered-To: mailing list notifications@asterixdb.apache.org Received: (qmail 9472 invoked by uid 99); 14 Nov 2017 16:47:33 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 14 Nov 2017 16:47:33 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 0030AC5CB8 for ; Tue, 14 Nov 2017 16:47:33 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 4.073 X-Spam-Level: **** X-Spam-Status: No, score=4.073 tagged_above=-999 required=6.31 tests=[MISSING_HEADERS=1.207, REPLYTO_WITHOUT_TO_CC=1.946, SPF_FAIL=0.919, URIBL_BLOCKED=0.001] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id BlqhgZ0oTO3w for ; Tue, 14 Nov 2017 16:47:32 +0000 (UTC) Received: from vitalstatistix.ics.uci.edu (vitalstatistix.ics.uci.edu [128.195.52.38]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTP id 5E7885FBB0 for ; Tue, 14 Nov 2017 16:47:31 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by vitalstatistix.ics.uci.edu (Postfix) with ESMTP id BF97E100ACD; Tue, 14 Nov 2017 08:47:30 -0800 (PST) Date: Tue, 14 Nov 2017 08:47:30 -0800 From: "Till Westmann (Code Review)" Message-ID: Reply-To: tillw@apache.org X-Gerrit-MessageType: newchange Subject: Change in asterixdb[master]: [ASTERIXDB-2165] Avoid OOM in QueryServiceServlet X-Gerrit-Change-Id: I74f61941f2e75e10f2accd6b2e6be6c1c0cd1490 X-Gerrit-ChangeURL: X-Gerrit-Commit: 002c3a2b64ab988073ee1454f9a1a69c56f13124 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Content-Disposition: inline User-Agent: Gerrit/2.12.7 archived-at: Tue, 14 Nov 2017 16:47:35 -0000 Till Westmann has uploaded a new change for review. https://asterix-gerrit.ics.uci.edu/2150 Change subject: [ASTERIXDB-2165] Avoid OOM in QueryServiceServlet ...................................................................... [ASTERIXDB-2165] Avoid OOM in QueryServiceServlet - user model changes: no - storage format changes: no - interface change: no Change-Id: I74f61941f2e75e10f2accd6b2e6be6c1c0cd1490 --- M asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceServlet.java 1 file changed, 4 insertions(+), 9 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/50/2150/1 diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceServlet.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceServlet.java index f8f5c18..2c22926 100644 --- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceServlet.java +++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceServlet.java @@ -381,8 +381,7 @@ RequestParameters param = getRequestParameters(request); LOGGER.info(param.toString()); long elapsedStart = System.nanoTime(); - final StringWriter stringWriter = new StringWriter(); - final PrintWriter resultWriter = new PrintWriter(stringWriter); + final PrintWriter resultWriter = response.writer(); ResultDelivery delivery = parseResultDelivery(param.mode); @@ -392,6 +391,7 @@ HttpUtil.setContentType(response, HttpUtil.ContentType.APPLICATION_JSON, HttpUtil.Encoding.UTF8); HttpResponseStatus status = HttpResponseStatus.OK; + response.setStatus(status); Stats stats = new Stats(); long[] execStartEnd = new long[] { -1, -1 }; @@ -416,6 +416,7 @@ } errorCount = 0; } catch (Exception | TokenMgrError | org.apache.asterix.aqlplus.parser.TokenMgrError e) { + // TODO(tillw) ouch status = handleExecuteStatementException(e); ResultUtil.printError(resultWriter, e); ResultUtil.printStatus(sessionOutput, ResultStatus.FATAL); @@ -430,13 +431,7 @@ stats.getCount(), stats.getSize(), stats.getProcessedObjects(), errorCount); resultWriter.print("}\n"); resultWriter.flush(); - String result = stringWriter.toString(); - - GlobalConfig.ASTERIX_LOGGER.log(Level.FINE, result); - - response.setStatus(status); - response.writer().print(result); - if (response.writer().checkError()) { + if (resultWriter.checkError()) { LOGGER.warning("Error flushing output writer"); } } -- To view, visit https://asterix-gerrit.ics.uci.edu/2150 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I74f61941f2e75e10f2accd6b2e6be6c1c0cd1490 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Till Westmann