lucene-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject lucene-solr:jira/http2: Update ref-guide for http2 changes
Date Wed, 03 Oct 2018 02:42:13 GMT
Repository: lucene-solr
Updated Branches:
  refs/heads/jira/http2 c1957e241 -> f6f40462c

Update ref-guide for http2 changes


Branch: refs/heads/jira/http2
Commit: f6f40462c83a47eefacdc21072f36b047c549618
Parents: c1957e2
Author: Cao Manh Dat <>
Authored: Wed Oct 3 09:41:59 2018 +0700
Committer: Cao Manh Dat <>
Committed: Wed Oct 3 09:41:59 2018 +0700

 .../src/distributed-requests.adoc               |  3 --
 solr/solr-ref-guide/src/format-of-solr-xml.adoc |  3 --
 .../src/major-changes-in-solr-8.adoc            | 35 +++++++++++++++++++-
 3 files changed, 34 insertions(+), 7 deletions(-)
diff --git a/solr/solr-ref-guide/src/distributed-requests.adoc b/solr/solr-ref-guide/src/distributed-requests.adoc
index 842a021..56c2d1d 100644
--- a/solr/solr-ref-guide/src/distributed-requests.adoc
+++ b/solr/solr-ref-guide/src/distributed-requests.adoc
@@ -96,9 +96,6 @@ The amount of time in ms that is accepted for binding / connecting a socket.
 The maximum number of concurrent connections that is made to each individual shard in a distributed
search. The default is `100000`.
-The total maximum number of concurrent connections in distributed searches. The default is
 The retained lowest limit on the number of threads used in coordinating distributed search.
The default is `0`.
diff --git a/solr/solr-ref-guide/src/format-of-solr-xml.adoc b/solr/solr-ref-guide/src/format-of-solr-xml.adoc
index 2a77c95..27cc1cb 100644
--- a/solr/solr-ref-guide/src/format-of-solr-xml.adoc
+++ b/solr/solr-ref-guide/src/format-of-solr-xml.adoc
@@ -174,9 +174,6 @@ The URL scheme to be used in distributed search.
 Maximum connections allowed per host. Defaults to `100000`.
-Maximum total connections allowed. Defaults to `100000`.
 The initial core size of the threadpool servicing requests. Default is `0`.
diff --git a/solr/solr-ref-guide/src/major-changes-in-solr-8.adoc b/solr/solr-ref-guide/src/major-changes-in-solr-8.adoc
index 5df38de..8b7566d 100644
--- a/solr/solr-ref-guide/src/major-changes-in-solr-8.adoc
+++ b/solr/solr-ref-guide/src/major-changes-in-solr-8.adoc
@@ -22,4 +22,37 @@
 // *****   Until then it's a place for upgrade notes     *****
 // *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
-* Due to LIR redesign in SOLR-11702, all users must be on Solr 7.3 or higher to upgrade to
Solr 8
+Solr 8 is a major new release of Solr which introduces new features and a number of other
changes that may impact your existing installation.
+== Upgrade Planning
+Due to the introduction of LIR redesign since Solr 7.3 (SOLR-11702) and the removing of old
LIR implementation in Solr 8.
+Rolling updates are not possible unless all nodes must be on Solr 7.3 or higher. If not updates
can be lost.
+Solr nodes can now listen and serve HTTP/2 and HTTP/1 requests. However  nodes with HTTPS
setup still can only serve
+HTTP/1.1 requests. By default, most of internal requests are sent by using HTTP/2 (except
for HTTPS case as mentioned above),
+therefore Solr 8.0 nodes can't talk to old nodes (7.x).
+However we can follow these steps to do rolling updates:
+* Do rolling updates as normally, but the Solr 8.0 nodes must start with `-Dsolr.http1=true`
as startup parameter.
+  By using this parameter internal requests are sent by using HTTP/1.1
+* When all nodes are upgraded to 8.0, restart them, this time `-Dsolr.http1` parameter should
be removed.
+== HTTP/2
+Until Solr 8, Solr nodes only support HTTP/1 requests. HTTP/1.1 practically allows only one
outstanding request
+per TCP connection this means that for sending multiple requests at the same time multiple
TCP connections must be
+established. This leads to waste of resources on both-sides and long GC-pause. Solr 8 with
HTTP/2 support overcomes that problem by allowing
+multiple requests can be sent in parallel using a same TCP connection.
+`Http2SolrClient` with HTTP/2 and async capabilities based on Jetty Client is introduced.
This client replaced
+`HttpSolrClient` and `ConcurrentUpdateSolrClient` for sending most of internal requests (sent
by `UpdateShardHandler`,
+`HttpShardHandler`). An interesting benchmark result showing gain of using `Http2SolrClient`
had been posted
However this leads to several changes in configuration and authentication setup
+* `UpdateShardHandler.maxConnections` parameter is no longer being used
+* `HttpShardHandlerFactory.maxConnections` parameter is no longer being used
+*  Custom `AuthenticationPlugin` must provide its own setup for `Http2SolrClient` through
+   `SolrHttpClientBuilder.setHttp2Configurator`, if not internal requests can't be authenticated

View raw message