SOLR-8937: bin/post (SimplePostTool) should tell JDK to stream stdin instead of fully buffer

(cherry picked from commit 037a403)
This commit is contained in:
David Smiley 2016-04-14 13:51:57 -04:00
parent af8a962417
commit f488dfac9c
2 changed files with 7 additions and 1 deletions

View File

@ -99,6 +99,8 @@ Optimizations
produced. This resulted in up to 3x throughput when small filter creation was the bottleneck,
as well as orders of magnitude less garbage. (Jeff Wartes, yonik)
* SOLR-8937: bin/post (SimplePostTool) now streams the standard input instead of buffering fully.
(David Smiley)
Other Changes
----------------------

View File

@ -890,7 +890,11 @@ public class SimplePostTool {
String encoding = DatatypeConverter.printBase64Binary(url.getUserInfo().getBytes(StandardCharsets.US_ASCII));
urlc.setRequestProperty("Authorization", "Basic " + encoding);
}
if (null != length) urlc.setFixedLengthStreamingMode(length);
if (null != length) {
urlc.setFixedLengthStreamingMode(length);
} else {
urlc.setChunkedStreamingMode(-1);//use JDK default chunkLen, 4k in Java 8.
}
urlc.connect();
} catch (IOException e) {
fatal("Connection error (is Solr running at " + solrUrl + " ?): " + e);