From commits-return-101354-archive-asf-public=cust-asf.ponee.io@lucene.apache.org Sat Jun 2 07:23:15 2018 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id C9F48180609 for ; Sat, 2 Jun 2018 07:23:14 +0200 (CEST) Received: (qmail 81712 invoked by uid 500); 2 Jun 2018 05:23:13 -0000 Mailing-List: contact commits-help@lucene.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@lucene.apache.org Delivered-To: mailing list commits@lucene.apache.org Received: (qmail 81698 invoked by uid 99); 2 Jun 2018 05:23:13 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 02 Jun 2018 05:23:13 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 85622E10F1; Sat, 2 Jun 2018 05:23:13 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: markrmiller@apache.org To: commits@lucene.apache.org Message-Id: <20dcac35a20a49f98ab06b667cbd64ec@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: lucene-solr:branch_7x: SOLR-12290, SOLR-12391: Do not close any servlet streams and improve our servlet stream closing prevention code for users and devs. Date: Sat, 2 Jun 2018 05:23:13 +0000 (UTC) Repository: lucene-solr Updated Branches: refs/heads/branch_7x 55f04b4c3 -> 88400a147 SOLR-12290,SOLR-12391: Do not close any servlet streams and improve our servlet stream closing prevention code for users and devs. Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/88400a14 Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/88400a14 Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/88400a14 Branch: refs/heads/branch_7x Commit: 88400a14716f163715eac82a35be90e6e3718208 Parents: 55f04b4 Author: markrmiller Authored: Sat Jun 2 00:16:28 2018 -0500 Committer: markrmiller Committed: Sat Jun 2 00:20:22 2018 -0500 ---------------------------------------------------------------------- solr/CHANGES.txt | 2 +- .../src/java/org/apache/solr/servlet/LoadAdminUiServlet.java | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/88400a14/solr/CHANGES.txt ---------------------------------------------------------------------- diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt index 189e625..5737fd3 100644 --- a/solr/CHANGES.txt +++ b/solr/CHANGES.txt @@ -216,7 +216,7 @@ Bug Fixes non-boolean queries. (James Dyer) * SOLR-12290: Do not close any servlet streams and improve our servlet stream closing prevention code for users - and devs. (Mark Miller) + and devs. (Mark Miller, janhoy, Andrzej Bialecki) * SOLR-12293: Updates need to use their own connection pool to maintain connection reuse and prevent spurious recoveries. (Mark Miller) http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/88400a14/solr/core/src/java/org/apache/solr/servlet/LoadAdminUiServlet.java ---------------------------------------------------------------------- diff --git a/solr/core/src/java/org/apache/solr/servlet/LoadAdminUiServlet.java b/solr/core/src/java/org/apache/solr/servlet/LoadAdminUiServlet.java index 1aa1137..f5c301e 100644 --- a/solr/core/src/java/org/apache/solr/servlet/LoadAdminUiServlet.java +++ b/solr/core/src/java/org/apache/solr/servlet/LoadAdminUiServlet.java @@ -17,6 +17,7 @@ package org.apache.solr.servlet; import org.apache.commons.io.IOUtils; +import org.apache.commons.io.output.CloseShieldOutputStream; import org.apache.commons.lang.StringEscapeUtils; import org.apache.commons.lang.StringUtils; import org.apache.solr.common.params.CommonParams; @@ -58,8 +59,8 @@ public final class LoadAdminUiServlet extends BaseSolrServlet { response.setCharacterEncoding("UTF-8"); response.setContentType("text/html"); - // Don't close this! - see SOLR-8933 - out = new OutputStreamWriter(response.getOutputStream(), StandardCharsets.UTF_8); + // We have to close this to flush OutputStreamWriter buffer + out = new OutputStreamWriter(new CloseShieldOutputStream(response.getOutputStream()), StandardCharsets.UTF_8); String html = IOUtils.toString(in, "UTF-8"); Package pack = SolrCore.class.getPackage(); @@ -78,6 +79,7 @@ public final class LoadAdminUiServlet extends BaseSolrServlet { out.write( StringUtils.replaceEach(html, search, replace) ); } finally { IOUtils.closeQuietly(in); + IOUtils.closeQuietly(out); } } else { response.sendError(404);