You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by Uwe Schindler <uw...@thetaphi.de> on 2018/12/02 18:06:32 UTC
Re: lucene-solr:jira/http2: Only support SSL for HTTP/2 in Java 9 or latter
Hi,
There is a forbidden toLowercase() without locale.
Could you also fix the sha1 checksums, so precommit works. This would fix Jenkins testing.
Uwe
Am December 2, 2018 4:31:25 PM UTC schrieb datcm@apache.org:
>Repository: lucene-solr
>Updated Branches:
> refs/heads/jira/http2 6c6fd5599 -> edb6d0bc6
>
>
>Only support SSL for HTTP/2 in Java 9 or latter
>
>
>Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
>Commit:
>http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/edb6d0bc
>Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/edb6d0bc
>Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/edb6d0bc
>
>Branch: refs/heads/jira/http2
>Commit: edb6d0bc65cce55960e6326d771123e25bfeae80
>Parents: 6c6fd55
>Author: Cao Manh Dat <da...@apache.org>
>Authored: Sun Dec 2 16:31:01 2018 +0000
>Committer: Cao Manh Dat <da...@apache.org>
>Committed: Sun Dec 2 16:31:01 2018 +0000
>
>----------------------------------------------------------------------
> lucene/ivy-versions.properties | 6 +--
> lucene/tools/junit4/solr-tests.policy | 2 -
> .../client/solrj/embedded/JettySolrRunner.java | 3 +-
> solr/server/ivy.xml | 3 +-
> solr/solrj/ivy.xml | 3 +-
> .../apache/solr/client/solrj/SolrClient.java | 8 ----
> .../solr/client/solrj/impl/Http2SolrClient.java | 6 +++
>.../solr/client/solrj/util/Constants.java | 40
>++++++++++++++++++++
> .../solrj/SolrExampleBinaryHttp2Test.java | 4 +-
> .../embedded/SolrExampleStreamingHttp2Test.java | 2 +-
> .../solrj/embedded/SolrExampleXMLHttp2Test.java | 2 +-
> ...urrentUpdateHttp2SolrClientBadInputTest.java | 2 +-
> .../ConcurrentUpdateHttp2SolrClientTest.java | 2 +-
> .../impl/Http2SolrClientCompatibilityTest.java | 6 +--
> .../client/solrj/impl/Http2SolrClientTest.java | 2 +-
> .../java/org/apache/solr/SolrTestCaseJ4.java | 8 ----
> .../java/org/apache/solr/util/RandomizeSSL.java | 4 ++
> solr/webapp/build.xml | 3 +-
> 18 files changed, 65 insertions(+), 41 deletions(-)
>----------------------------------------------------------------------
>
>
>http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edb6d0bc/lucene/ivy-versions.properties
>----------------------------------------------------------------------
>diff --git a/lucene/ivy-versions.properties
>b/lucene/ivy-versions.properties
>index 1f44de4..0d8de19 100644
>--- a/lucene/ivy-versions.properties
>+++ b/lucene/ivy-versions.properties
>@@ -244,8 +244,6 @@ org.codehaus.janino.version = 2.7.6
> /org.codehaus.woodstox/stax2-api = 3.1.4
> /org.codehaus.woodstox/woodstox-core-asl = 4.4.1
>
>-/org.conscrypt/conscrypt-openjdk-uber = 1.4.1
>-
> org.eclipse.jetty.version = 9.4.14.v20181114
> /org.eclipse.jetty.http2/http2-client = ${org.eclipse.jetty.version}
> /org.eclipse.jetty.http2/http2-common = ${org.eclipse.jetty.version}
>@@ -253,8 +251,8 @@ org.eclipse.jetty.version = 9.4.14.v20181114
>/org.eclipse.jetty.http2/http2-http-client-transport =
>${org.eclipse.jetty.version}
> /org.eclipse.jetty.http2/http2-server = ${org.eclipse.jetty.version}
> /org.eclipse.jetty/jetty-alpn-client = ${org.eclipse.jetty.version}
>-/org.eclipse.jetty/jetty-alpn-conscrypt-client =
>${org.eclipse.jetty.version}
>-/org.eclipse.jetty/jetty-alpn-conscrypt-server =
>${org.eclipse.jetty.version}
>+/org.eclipse.jetty/jetty-alpn-java-client =
>${org.eclipse.jetty.version}
>+/org.eclipse.jetty/jetty-alpn-java-server =
>${org.eclipse.jetty.version}
> /org.eclipse.jetty/jetty-alpn-server = ${org.eclipse.jetty.version}
> /org.eclipse.jetty/jetty-client = ${org.eclipse.jetty.version}
> /org.eclipse.jetty/jetty-continuation = ${org.eclipse.jetty.version}
>
>http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edb6d0bc/lucene/tools/junit4/solr-tests.policy
>----------------------------------------------------------------------
>diff --git a/lucene/tools/junit4/solr-tests.policy
>b/lucene/tools/junit4/solr-tests.policy
>index 4b551ea..7770bde 100644
>--- a/lucene/tools/junit4/solr-tests.policy
>+++ b/lucene/tools/junit4/solr-tests.policy
>@@ -79,8 +79,6 @@ grant {
> permission java.security.SecurityPermission "insertProvider.*";
> permission java.security.SecurityPermission "putProviderProperty.*";
> permission java.security.SecurityPermission "getProviderProperty.*";
>- permission java.security.SecurityPermission
>"getProperty.conscrypt.*";
>- permission java.security.SecurityPermission
>"putProperty.conscrypt.*";
>
> // SASL/Kerberos related properties for Solr tests
>permission javax.security.auth.PrivateCredentialPermission
>"javax.security.auth.kerberos.KerberosTicket * \"*\"", "read";
>
>http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edb6d0bc/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java
>----------------------------------------------------------------------
>diff --git
>a/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java
>b/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java
>index b66f74c..98e86ac 100644
>---
>a/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java
>+++
>b/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java
>@@ -288,7 +288,6 @@ public class JettySolrRunner {
> http1ConnectionFactory.getProtocol()),
> http1ConnectionFactory);
> } else {
>- sslcontext.setProvider("Conscrypt");
> sslcontext.setCipherComparator(HTTP2Cipher.COMPARATOR);
>
> connector = new ServerConnector(server);
>@@ -528,7 +527,7 @@ public class JettySolrRunner {
> }
> ServerConnector c = (ServerConnector) conns[0];
>
>- protocol = c.getDefaultProtocol().startsWith("SSL") ? "https" :
>"http";
>+ protocol = c.getDefaultProtocol().toLowerCase().startsWith("ssl")
>? "https" : "http";
>
> this.protocol = protocol;
> this.host = c.getHost();
>
>http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edb6d0bc/solr/server/ivy.xml
>----------------------------------------------------------------------
>diff --git a/solr/server/ivy.xml b/solr/server/ivy.xml
>index 39e8544..9699b53 100644
>--- a/solr/server/ivy.xml
>+++ b/solr/server/ivy.xml
>@@ -57,13 +57,12 @@
><dependency org="org.eclipse.jetty" name="jetty-util"
>rev="${/org.eclipse.jetty/jetty-util}" conf="jetty"/>
><dependency org="org.eclipse.jetty" name="jetty-webapp"
>rev="${/org.eclipse.jetty/jetty-webapp}" conf="jetty"/>
><dependency org="org.eclipse.jetty" name="jetty-xml"
>rev="${/org.eclipse.jetty/jetty-xml}" conf="jetty"/>
>- <dependency org="org.eclipse.jetty"
>name="jetty-alpn-conscrypt-server"
>rev="${/org.eclipse.jetty/jetty-alpn-conscrypt-server}" conf="jetty"/>
>+ <dependency org="org.eclipse.jetty" name="jetty-alpn-java-server"
>rev="${/org.eclipse.jetty/jetty-alpn-java-server}" conf="jetty"/>
><dependency org="org.eclipse.jetty" name="jetty-alpn-server"
>rev="${/org.eclipse.jetty/jetty-alpn-server}" conf="jetty"/>
>
><dependency org="org.eclipse.jetty.http2" name="http2-server"
>rev="${/org.eclipse.jetty.http2/http2-server}" conf="jetty"/>
><dependency org="org.eclipse.jetty.http2" name="http2-common"
>rev="${/org.eclipse.jetty.http2/http2-common}" conf="jetty"/>
><dependency org="org.eclipse.jetty.http2" name="http2-hpack"
>rev="${/org.eclipse.jetty.http2/http2-hpack}" conf="jetty"/>
>- <dependency org="org.conscrypt" name="conscrypt-openjdk-uber"
>rev="${/org.conscrypt/conscrypt-openjdk-uber}" conf="shared_lib"/>
>
><dependency org="javax.servlet" name="javax.servlet-api"
>rev="${/javax.servlet/javax.servlet-api}" conf="jetty"/>
>
>
>http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edb6d0bc/solr/solrj/ivy.xml
>----------------------------------------------------------------------
>diff --git a/solr/solrj/ivy.xml b/solr/solrj/ivy.xml
>index 5153f24..85db8ce 100644
>--- a/solr/solrj/ivy.xml
>+++ b/solr/solrj/ivy.xml
>@@ -49,9 +49,8 @@
><dependency org="org.eclipse.jetty" name="jetty-util"
>rev="${/org.eclipse.jetty/jetty-util}" conf="compile"/>
><dependency org="org.eclipse.jetty" name="jetty-http"
>rev="${/org.eclipse.jetty/jetty-http}" conf="compile"/>
><dependency org="org.eclipse.jetty" name="jetty-io"
>rev="${/org.eclipse.jetty/jetty-io}" conf="compile"/>
>- <dependency org="org.eclipse.jetty"
>name="jetty-alpn-conscrypt-client"
>rev="${/org.eclipse.jetty/jetty-alpn-conscrypt-client}"
>conf="compile"/>
>+ <dependency org="org.eclipse.jetty" name="jetty-alpn-java-client"
>rev="${/org.eclipse.jetty/jetty-alpn-java-client}" conf="compile"/>
><dependency org="org.eclipse.jetty" name="jetty-alpn-client"
>rev="${/org.eclipse.jetty/jetty-alpn-client}" conf="compile"/>
>- <dependency org="org.conscrypt" name="conscrypt-openjdk-uber"
>rev="${/org.conscrypt/conscrypt-openjdk-uber}" conf="compile"/>
>
><dependency org="org.apache.logging.log4j" name="log4j-slf4j-impl"
>rev="${/org.apache.logging.log4j/log4j-slf4j-impl}" conf="test"/>
>
>
>http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edb6d0bc/solr/solrj/src/java/org/apache/solr/client/solrj/SolrClient.java
>----------------------------------------------------------------------
>diff --git
>a/solr/solrj/src/java/org/apache/solr/client/solrj/SolrClient.java
>b/solr/solrj/src/java/org/apache/solr/client/solrj/SolrClient.java
>index 3736a0f..f435150 100644
>--- a/solr/solrj/src/java/org/apache/solr/client/solrj/SolrClient.java
>+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/SolrClient.java
>@@ -33,12 +33,10 @@ import org.apache.solr.common.params.CommonParams;
> import org.apache.solr.common.params.ModifiableSolrParams;
> import org.apache.solr.common.params.SolrParams;
> import org.apache.solr.common.util.NamedList;
>-import org.conscrypt.OpenSSLProvider;
>
> import java.io.Closeable;
> import java.io.IOException;
> import java.io.Serializable;
>-import java.security.Security;
> import java.util.ArrayList;
> import java.util.Collection;
> import java.util.Collections;
>@@ -53,12 +51,6 @@ import java.util.List;
> public abstract class SolrClient implements Serializable, Closeable {
>
> private static final long serialVersionUID = 1L;
>- static {
>- // Set Conscrypt as default OpenSSLProvider for all clients
>- if (Security.getProvider("Conscrypt") == null) {
>- Security.insertProviderAt(new OpenSSLProvider(), 1);
>- }
>- }
>
> private DocumentObjectBinder binder;
>
>
>http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edb6d0bc/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java
>----------------------------------------------------------------------
>diff --git
>a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java
>b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java
>index 7c04dad..4add0f8 100644
>---
>a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java
>+++
>b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java
>@@ -53,6 +53,7 @@ import
>org.apache.solr.client.solrj.request.RequestWriter;
> import org.apache.solr.client.solrj.request.UpdateRequest;
> import org.apache.solr.client.solrj.request.V2Request;
> import org.apache.solr.client.solrj.util.ClientUtils;
>+import org.apache.solr.client.solrj.util.Constants;
> import org.apache.solr.common.SolrException;
> import org.apache.solr.common.StringUtils;
> import org.apache.solr.common.params.CommonParams;
>@@ -186,6 +187,11 @@ public class Http2SolrClient extends SolrClient {
> httpClient = new HttpClient(transport, sslContextFactory);
>if (builder.maxConnectionsPerHost != null)
>httpClient.setMaxConnectionsPerDestination(builder.maxConnectionsPerHost);
> } else {
>+ if (sslContextFactory.getTrustStore() != null ||
>sslContextFactory.getTrustStorePath() != null) {
>+ if (!Constants.JRE_IS_MINIMUM_JAVA9) {
>+ throw new IllegalArgumentException("SSL + HTTP/2 can only
>run on Java 9 or latter versions");
>+ }
>+ }
> log.debug("Create Http2SolrClient with HTTP/2 transport");
> HTTP2Client http2client = new HTTP2Client();
> transport = new HttpClientTransportOverHTTP2(http2client);
>
>http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edb6d0bc/solr/solrj/src/java/org/apache/solr/client/solrj/util/Constants.java
>----------------------------------------------------------------------
>diff --git
>a/solr/solrj/src/java/org/apache/solr/client/solrj/util/Constants.java
>b/solr/solrj/src/java/org/apache/solr/client/solrj/util/Constants.java
>new file mode 100644
>index 0000000..55ca618
>--- /dev/null
>+++
>b/solr/solrj/src/java/org/apache/solr/client/solrj/util/Constants.java
>@@ -0,0 +1,40 @@
>+/*
>+ * Licensed to the Apache Software Foundation (ASF) under one or more
>+ * contributor license agreements. See the NOTICE file distributed
>with
>+ * this work for additional information regarding copyright ownership.
>+ * The ASF licenses this file to You under the Apache License, Version
>2.0
>+ * (the "License"); you may not use this file except in compliance
>with
>+ * the License. You may obtain a copy of the License at
>+ *
>+ * http://www.apache.org/licenses/LICENSE-2.0
>+ *
>+ * Unless required by applicable law or agreed to in writing, software
>+ * distributed under the License is distributed on an "AS IS" BASIS,
>+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
>implied.
>+ * See the License for the specific language governing permissions and
>+ * limitations under the License.
>+ */
>+
>+package org.apache.solr.client.solrj.util;
>+
>+import java.util.StringTokenizer;
>+
>+// Clone of org.apache.lucene.util.Constants, so SolrJ can use it
>+public class Constants {
>+ public static final String JVM_SPEC_VERSION =
>System.getProperty("java.specification.version");
>+ private static final int JVM_MAJOR_VERSION;
>+ private static final int JVM_MINOR_VERSION;
>+
>+ static {
>+ final StringTokenizer st = new StringTokenizer(JVM_SPEC_VERSION,
>".");
>+ JVM_MAJOR_VERSION = Integer.parseInt(st.nextToken());
>+ if (st.hasMoreTokens()) {
>+ JVM_MINOR_VERSION = Integer.parseInt(st.nextToken());
>+ } else {
>+ JVM_MINOR_VERSION = 0;
>+ }
>+ }
>+
>+ public static final boolean JRE_IS_MINIMUM_JAVA9 = JVM_MAJOR_VERSION
>> 1 || (JVM_MAJOR_VERSION == 1 && JVM_MINOR_VERSION >= 9);
>+
>+}
>
>http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edb6d0bc/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleBinaryHttp2Test.java
>----------------------------------------------------------------------
>diff --git
>a/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleBinaryHttp2Test.java
>b/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleBinaryHttp2Test.java
>index 3faa00d..89923cb 100644
>---
>a/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleBinaryHttp2Test.java
>+++
>b/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleBinaryHttp2Test.java
>@@ -18,8 +18,6 @@
> package org.apache.solr.client.solrj;
>
> import org.apache.solr.SolrTestCaseJ4;
>-import org.apache.solr.client.solrj.SolrClient;
>-import org.apache.solr.client.solrj.SolrExampleTests;
> import org.apache.solr.client.solrj.impl.BinaryRequestWriter;
> import org.apache.solr.client.solrj.impl.BinaryResponseParser;
> import org.apache.solr.client.solrj.impl.Http2SolrClient;
>@@ -34,7 +32,7 @@ public class SolrExampleBinaryHttp2Test extends
>SolrExampleTests {
>
> @BeforeClass
> public static void beforeTest() throws Exception {
>- createJetty(legacyExampleCollection1SolrHome());
>+ createAndStartJetty(legacyExampleCollection1SolrHome());
> }
>
> @Override
>
>http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edb6d0bc/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleStreamingHttp2Test.java
>----------------------------------------------------------------------
>diff --git
>a/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleStreamingHttp2Test.java
>b/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleStreamingHttp2Test.java
>index 59a5df1..2dfbd67 100644
>---
>a/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleStreamingHttp2Test.java
>+++
>b/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleStreamingHttp2Test.java
>@@ -36,7 +36,7 @@ public class SolrExampleStreamingHttp2Test extends
>SolrExampleTests {
>
> @BeforeClass
> public static void beforeTest() throws Exception {
>- createJetty(legacyExampleCollection1SolrHome());
>+ createAndStartJetty(legacyExampleCollection1SolrHome());
> }
>
> @Override
>
>http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edb6d0bc/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleXMLHttp2Test.java
>----------------------------------------------------------------------
>diff --git
>a/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleXMLHttp2Test.java
>b/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleXMLHttp2Test.java
>index d191169..8b169f4 100644
>---
>a/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleXMLHttp2Test.java
>+++
>b/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleXMLHttp2Test.java
>@@ -27,7 +27,7 @@ import org.junit.BeforeClass;
> public class SolrExampleXMLHttp2Test extends SolrExampleTests {
> @BeforeClass
> public static void beforeTest() throws Exception {
>- createJetty(legacyExampleCollection1SolrHome());
>+ createAndStartJetty(legacyExampleCollection1SolrHome());
> }
>
> @Override
>
>http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edb6d0bc/solr/solrj/src/test/org/apache/solr/client/solrj/impl/ConcurrentUpdateHttp2SolrClientBadInputTest.java
>----------------------------------------------------------------------
>diff --git
>a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/ConcurrentUpdateHttp2SolrClientBadInputTest.java
>b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/ConcurrentUpdateHttp2SolrClientBadInputTest.java
>index 7aea0a3..62515ca 100644
>---
>a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/ConcurrentUpdateHttp2SolrClientBadInputTest.java
>+++
>b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/ConcurrentUpdateHttp2SolrClientBadInputTest.java
>@@ -43,7 +43,7 @@ public class
>ConcurrentUpdateHttp2SolrClientBadInputTest extends SolrJettyTestBa
> JettyConfig jettyConfig = JettyConfig.builder()
> .withSSLConfig(sslConfig.buildServerSSLConfig())
> .build();
>- createJetty(legacyExampleCollection1SolrHome(), jettyConfig);
>+ createAndStartJetty(legacyExampleCollection1SolrHome(),
>jettyConfig);
> }
>
> @Test
>
>http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edb6d0bc/solr/solrj/src/test/org/apache/solr/client/solrj/impl/ConcurrentUpdateHttp2SolrClientTest.java
>----------------------------------------------------------------------
>diff --git
>a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/ConcurrentUpdateHttp2SolrClientTest.java
>b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/ConcurrentUpdateHttp2SolrClientTest.java
>index 06016b4..3556e41 100644
>---
>a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/ConcurrentUpdateHttp2SolrClientTest.java
>+++
>b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/ConcurrentUpdateHttp2SolrClientTest.java
>@@ -55,7 +55,7 @@ public class ConcurrentUpdateHttp2SolrClientTest
>extends SolrJettyTestBase {
>.withServlet(new
>ServletHolder(ConcurrentUpdateSolrClientTest.TestServlet.class),
>"/cuss/*")
> .withSSLConfig(sslConfig.buildServerSSLConfig())
> .build();
>- createJetty(legacyExampleCollection1SolrHome(), jettyConfig);
>+ createAndStartJetty(legacyExampleCollection1SolrHome(),
>jettyConfig);
> }
>
> @Test
>
>http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edb6d0bc/solr/solrj/src/test/org/apache/solr/client/solrj/impl/Http2SolrClientCompatibilityTest.java
>----------------------------------------------------------------------
>diff --git
>a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/Http2SolrClientCompatibilityTest.java
>b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/Http2SolrClientCompatibilityTest.java
>index b21a73e..2897304 100644
>---
>a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/Http2SolrClientCompatibilityTest.java
>+++
>b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/Http2SolrClientCompatibilityTest.java
>@@ -50,7 +50,7 @@ public class Http2SolrClientCompatibilityTest extends
>SolrJettyTestBase {
>.withServlet(new ServletHolder(Http2SolrClientTest.DebugServlet.class),
>"/debug/*")
> .useOnlyHttp1(true)
> .build();
>- createJetty(legacyExampleCollection1SolrHome(), jettyConfig);
>+ createAndStartJetty(legacyExampleCollection1SolrHome(),
>jettyConfig);
>
>try (Http2SolrClient client = new
>Http2SolrClient.Builder(jetty.getBaseUrl().toString() + "/debug/foo")
> .useHttp1_1(true)
>@@ -69,7 +69,7 @@ public class Http2SolrClientCompatibilityTest extends
>SolrJettyTestBase {
>.withServlet(new ServletHolder(Http2SolrClientTest.DebugServlet.class),
>"/debug/*")
> .useOnlyHttp1(false)
> .build();
>- createJetty(legacyExampleCollection1SolrHome(), jettyConfig);
>+ createAndStartJetty(legacyExampleCollection1SolrHome(),
>jettyConfig);
>
>try (Http2SolrClient client = new
>Http2SolrClient.Builder(jetty.getBaseUrl().toString() + "/debug/foo")
> .useHttp1_1(true)
>@@ -89,7 +89,7 @@ public class Http2SolrClientCompatibilityTest extends
>SolrJettyTestBase {
>.withServlet(new ServletHolder(Http2SolrClientTest.DebugServlet.class),
>"/debug/*")
> .useOnlyHttp1(true)
> .build();
>- createJetty(legacyExampleCollection1SolrHome(), jettyConfig);
>+ createAndStartJetty(legacyExampleCollection1SolrHome(),
>jettyConfig);
>try (Http2SolrClient client = new
>Http2SolrClient.Builder(jetty.getBaseUrl().toString() + "/debug/foo")
> .build()) {
>assertTrue(client.getHttpClient().getTransport() instanceof
>HttpClientTransportOverHTTP2);
>
>http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edb6d0bc/solr/solrj/src/test/org/apache/solr/client/solrj/impl/Http2SolrClientTest.java
>----------------------------------------------------------------------
>diff --git
>a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/Http2SolrClientTest.java
>b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/Http2SolrClientTest.java
>index ff0fae1..ad7838b 100644
>---
>a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/Http2SolrClientTest.java
>+++
>b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/Http2SolrClientTest.java
>@@ -155,7 +155,7 @@ public class Http2SolrClientTest extends
>SolrJettyTestBase {
> .withServlet(new ServletHolder(DebugServlet.class), "/debug/*")
> .withSSLConfig(sslConfig.buildServerSSLConfig())
> .build();
>- createJetty(legacyExampleCollection1SolrHome(), jettyConfig);
>+ createAndStartJetty(legacyExampleCollection1SolrHome(),
>jettyConfig);
> }
>
>private Http2SolrClient getHttp2SolrClient(String url, int
>connectionTimeOut, int socketTimeout) {
>
>http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edb6d0bc/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
>----------------------------------------------------------------------
>diff --git
>a/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
>b/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
>index eec9524..30bb28b 100644
>--- a/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
>+++ b/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
>@@ -142,7 +142,6 @@ import org.apache.solr.util.StartupLoggingUtils;
> import org.apache.solr.util.TestHarness;
> import org.apache.solr.util.TestInjection;
> import org.apache.zookeeper.KeeperException;
>-import org.conscrypt.OpenSSLProvider;
> import org.junit.After;
> import org.junit.AfterClass;
> import org.junit.Before;
>@@ -201,13 +200,6 @@ public abstract class SolrTestCaseJ4 extends
>LuceneTestCase {
>
> protected volatile static ExecutorService testExecutor;
>
>- static {
>- // Set Conscrypt as default OpenSSLProvider for all clients
>- if (Security.getProvider("Conscrypt") == null) {
>- Security.insertProviderAt(new OpenSSLProvider(), 1);
>- }
>- }
>-
>protected void writeCoreProperties(Path coreDirectory, String corename)
>throws IOException {
> Properties props = new Properties();
> props.setProperty("name", corename);
>
>http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edb6d0bc/solr/test-framework/src/java/org/apache/solr/util/RandomizeSSL.java
>----------------------------------------------------------------------
>diff --git
>a/solr/test-framework/src/java/org/apache/solr/util/RandomizeSSL.java
>b/solr/test-framework/src/java/org/apache/solr/util/RandomizeSSL.java
>index 2450dad..b6ca51c 100644
>---
>a/solr/test-framework/src/java/org/apache/solr/util/RandomizeSSL.java
>+++
>b/solr/test-framework/src/java/org/apache/solr/util/RandomizeSSL.java
>@@ -23,6 +23,7 @@ import java.lang.annotation.Retention;
> import java.lang.annotation.RetentionPolicy;
> import java.lang.annotation.Target;
>
>+import org.apache.lucene.util.Constants;
> import org.apache.lucene.util.LuceneTestCase;
> import org.apache.lucene.util.TestUtil;
> import org.apache.solr.SolrTestCaseJ4.SuppressSSL;
>@@ -136,6 +137,9 @@ public @interface RandomizeSSL {
> * Returns an SSLRandomizer suitable for the specified (test) class
> */
>public static final SSLRandomizer getSSLRandomizerForClass(Class clazz)
>{
>+ if (!Constants.JRE_IS_MINIMUM_JAVA9) {
>+ return new SSLRandomizer(0.0D, 0.0D, "Only Java9 or latter
>versions support SSL with HTTP/2");
>+ }
>
>final SuppressSSL suppression = (SuppressSSL)
>clazz.getAnnotation(SuppressSSL.class);
> if (null != suppression) {
>
>http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edb6d0bc/solr/webapp/build.xml
>----------------------------------------------------------------------
>diff --git a/solr/webapp/build.xml b/solr/webapp/build.xml
>index 3f4c1a7..b8904de 100644
>--- a/solr/webapp/build.xml
>+++ b/solr/webapp/build.xml
>@@ -24,8 +24,7 @@
> <import file="../common-build.xml"/>
>
><property name="exclude.from.webapp"
>value="*slf4j*,log4j-*,*javax.servlet*" />
>- <property name="exclude.from.sorlj" value="conscrypt-openjdk*" />
>-
>+
> <!-- this module has no javadocs -->
> <target name="javadocs"/>
>
--
Uwe Schindler
Achterdiek 19, 28357 Bremen
https://www.thetaphi.de
Re: lucene-solr:jira/http2: Only support SSL for HTTP/2 in Java 9 or latter
Posted by Erick Erickson <er...@gmail.com>.
Precommit now passes on the http2 branch.
On Sun, Dec 2, 2018 at 10:06 AM Uwe Schindler <uw...@thetaphi.de> wrote:
>
> Hi,
>
> There is a forbidden toLowercase() without locale.
>
> Could you also fix the sha1 checksums, so precommit works. This would fix Jenkins testing.
>
> Uwe
>
> Am December 2, 2018 4:31:25 PM UTC schrieb datcm@apache.org:
>>
>> Repository: lucene-solr
>> Updated Branches:
>> refs/heads/jira/http2 6c6fd5599 -> edb6d0bc6
>>
>>
>> Only support SSL for HTTP/2 in Java 9 or latter
>>
>>
>> Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
>> Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/edb6d0bc
>> Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/edb6d0bc
>> Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/edb6d0bc
>>
>> Branch: refs/heads/jira/http2
>> Commit: edb6d0bc65cce55960e6326d771123e25bfeae80
>> Parents: 6c6fd55
>> Author: Cao Manh Dat <da...@apache.org>
>> Authored: Sun Dec 2 16:31:01 2018 +0000
>> Committer: Cao Manh Dat <da...@apache.org>
>> Committed: Sun Dec 2 16:31:01 2018 +0000
>> ________________________________
>> lucene/ivy-versions.properties | 6 +--
>> lucene/tools/junit4/solr-tests.policy | 2 -
>> .../client/solrj/embedded/JettySolrRunner.java | 3 +-
>> solr/server/ivy.xml | 3 +-
>> solr/solrj/ivy.xml | 3 +-
>> .../apache/solr/client/solrj/SolrClient.java | 8 ----
>> .../solr/client/solrj/impl/Http2SolrClient.java | 6 +++
>> .../solr/client/solrj/util/Constants.java | 40 ++++++++++++++++++++
>> .../solrj/SolrExampleBinaryHttp2Test.java | 4 +-
>> .../embedded/SolrExampleStreamingHttp2Test.java | 2 +-
>> .../solrj/embedded/SolrExampleXMLHttp2Test.java | 2 +-
>> ...urrentUpdateHttp2SolrClientBadInputTest.java | 2 +-
>> .../ConcurrentUpdateHttp2SolrClientTest.java | 2 +-
>> .../impl/Http2SolrClientCompatibilityTest.java | 6 +--
>> .../client/solrj/impl/Http2SolrClientTest.java | 2 +-
>> .../java/org/apache/solr/SolrTestCaseJ4.java | 8 ----
>> .../java/org/apache/solr/util/RandomizeSSL.java | 4 ++
>> solr/webapp/build.xml | 3 +-
>> 18 files changed, 65 insertions(+), 41 deletions(-)
>> ________________________________
>> http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edb6d0bc/lucene/ivy-versions.properties
>> ________________________________
>> diff --git a/lucene/ivy-versions.properties b/lucene/ivy-versions.properties
>> index 1f44de4..0d8de19 100644
>> --- a/lucene/ivy-versions.properties
>> +++ b/lucene/ivy-versions.properties
>> @@ -244,8 +244,6 @@ org.codehaus.janino.version = 2.7.6
>> /org.codehaus.woodstox/stax2-api = 3.1.4
>> /org.codehaus.woodstox/woodstox-core-asl = 4.4.1
>>
>> -/org.conscrypt/conscrypt-openjdk-uber = 1.4.1
>> -
>> org.eclipse.jetty.version = 9.4.14.v20181114
>> /org.eclipse.jetty.http2/http2-client = ${org.eclipse.jetty.version}
>> /org.eclipse.jetty.http2/http2-common = ${org.eclipse.jetty.version}
>> @@ -253,8 +251,8 @@ org.eclipse.jetty.version = 9.4.14.v20181114
>> /org.eclipse.jetty.http2/http2-http-client-transport = ${org.eclipse.jetty.version}
>> /org.eclipse.jetty.http2/http2-server = ${org.eclipse.jetty.version}
>> /org.eclipse.jetty/jetty-alpn-client = ${org.eclipse.jetty.version}
>> -/org.eclipse.jetty/jetty-alpn-conscrypt-client = ${org.eclipse.jetty.version}
>> -/org.eclipse.jetty/jetty-alpn-conscrypt-server = ${org.eclipse.jetty.version}
>> +/org.eclipse.jetty/jetty-alpn-java-client = ${org.eclipse.jetty.version}
>> +/org.eclipse.jetty/jetty-alpn-java-server = ${org.eclipse.jetty.version}
>> /org.eclipse.jetty/jetty-alpn-server = ${org.eclipse.jetty.version}
>> /org.eclipse.jetty/jetty-client = ${org.eclipse.jetty.version}
>> /org.eclipse.jetty/jetty-continuation = ${org.eclipse.jetty.version}
>>
>> http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edb6d0bc/lucene/tools/junit4/solr-tests.policy
>> ________________________________
>> diff --git a/lucene/tools/junit4/solr-tests.policy b/lucene/tools/junit4/solr-tests.policy
>> index 4b551ea..7770bde 100644
>> --- a/lucene/tools/junit4/solr-tests.policy
>> +++ b/lucene/tools/junit4/solr-tests.policy
>> @@ -79,8 +79,6 @@ grant {
>> permission java.security.SecurityPermission "insertProvider.*";
>> permission java.security.SecurityPermission "putProviderProperty.*";
>> permission java.security.SecurityPermission "getProviderProperty.*";
>> - permission java.security.SecurityPermission "getProperty.conscrypt.*";
>> - permission java.security.SecurityPermission "putProperty.conscrypt.*";
>>
>> // SASL/Kerberos related properties for Solr tests
>> permission javax.security.auth.PrivateCredentialPermission "javax.security.auth.kerberos.KerberosTicket * \"*\"", "read";
>>
>> http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edb6d0bc/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java
>> ________________________________
>> diff --git a/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java b/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java
>> index b66f74c..98e86ac 100644
>> --- a/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java
>> +++ b/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java
>> @@ -288,7 +288,6 @@ public class JettySolrRunner {
>> http1ConnectionFactory.getProtocol()),
>> http1ConnectionFactory);
>> } else {
>> - sslcontext.setProvider("Conscrypt");
>> sslcontext.setCipherComparator(HTTP2Cipher.COMPARATOR);
>>
>> connector = new ServerConnector(server);
>> @@ -528,7 +527,7 @@ public class JettySolrRunner {
>> }
>> ServerConnector c = (ServerConnector) conns[0];
>>
>> - protocol = c.getDefaultProtocol().startsWith("SSL") ? "https" : "http";
>> + protocol = c.getDefaultProtocol().toLowerCase().startsWith("ssl") ? "https" : "http";
>>
>> this.protocol = protocol;
>> this.host = c.getHost();
>>
>> http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edb6d0bc/solr/server/ivy.xml
>> ________________________________
>> diff --git a/solr/server/ivy.xml b/solr/server/ivy.xml
>> index 39e8544..9699b53 100644
>> --- a/solr/server/ivy.xml
>> +++ b/solr/server/ivy.xml
>> @@ -57,13 +57,12 @@
>> <dependency org="org.eclipse.jetty" name="jetty-util" rev="${/org.eclipse.jetty/jetty-util}" conf="jetty"/>
>> <dependency org="org.eclipse.jetty" name="jetty-webapp" rev="${/org.eclipse.jetty/jetty-webapp}" conf="jetty"/>
>> <dependency org="org.eclipse.jetty" name="jetty-xml" rev="${/org.eclipse.jetty/jetty-xml}" conf="jetty"/>
>> - <dependency org="org.eclipse.jetty" name="jetty-alpn-conscrypt-server" rev="${/org.eclipse.jetty/jetty-alpn-conscrypt-server}" conf="jetty"/>
>> + <dependency org="org.eclipse.jetty" name="jetty-alpn-java-server" rev="${/org.eclipse.jetty/jetty-alpn-java-server}" conf="jetty"/>
>> <dependency org="org.eclipse.jetty" name="jetty-alpn-server" rev="${/org.eclipse.jetty/jetty-alpn-server}" conf="jetty"/>
>>
>> <dependency org="org.eclipse.jetty.http2" name="http2-server" rev="${/org.eclipse.jetty.http2/http2-server}" conf="jetty"/>
>> <dependency org="org.eclipse.jetty.http2" name="http2-common" rev="${/org.eclipse.jetty.http2/http2-common}" conf="jetty"/>
>> <dependency org="org.eclipse.jetty.http2" name="http2-hpack" rev="${/org.eclipse.jetty.http2/http2-hpack}" conf="jetty"/>
>> - <dependency org="org.conscrypt" name="conscrypt-openjdk-uber" rev="${/org.conscrypt/conscrypt-openjdk-uber}" conf="shared_lib"/>
>>
>> <dependency org="javax.servlet" name="javax.servlet-api" rev="${/javax.servlet/javax.servlet-api}" conf="jetty"/>
>>
>>
>> http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edb6d0bc/solr/solrj/ivy.xml
>> ________________________________
>> diff --git a/solr/solrj/ivy.xml b/solr/solrj/ivy.xml
>> index 5153f24..85db8ce 100644
>> --- a/solr/solrj/ivy.xml
>> +++ b/solr/solrj/ivy.xml
>> @@ -49,9 +49,8 @@
>> <dependency org="org.eclipse.jetty" name="jetty-util" rev="${/org.eclipse.jetty/jetty-util}" conf="compile"/>
>> <dependency org="org.eclipse.jetty" name="jetty-http" rev="${/org.eclipse.jetty/jetty-http}" conf="compile"/>
>> <dependency org="org.eclipse.jetty" name="jetty-io" rev="${/org.eclipse.jetty/jetty-io}" conf="compile"/>
>> - <dependency org="org.eclipse.jetty" name="jetty-alpn-conscrypt-client" rev="${/org.eclipse.jetty/jetty-alpn-conscrypt-client}" conf="compile"/>
>> + <dependency org="org.eclipse.jetty" name="jetty-alpn-java-client" rev="${/org.eclipse.jetty/jetty-alpn-java-client}" conf="compile"/>
>> <dependency org="org.eclipse.jetty" name="jetty-alpn-client" rev="${/org.eclipse.jetty/jetty-alpn-client}" conf="compile"/>
>> - <dependency org="org.conscrypt" name="conscrypt-openjdk-uber" rev="${/org.conscrypt/conscrypt-openjdk-uber}" conf="compile"/>
>>
>> <dependency org="org.apache.logging.log4j" name="log4j-slf4j-impl" rev="${/org.apache.logging.log4j/log4j-slf4j-impl}" conf="test"/>
>>
>>
>> http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edb6d0bc/solr/solrj/src/java/org/apache/solr/client/solrj/SolrClient.java
>> ________________________________
>> diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/SolrClient.java b/solr/solrj/src/java/org/apache/solr/client/solrj/SolrClient.java
>> index 3736a0f..f435150 100644
>> --- a/solr/solrj/src/java/org/apache/solr/client/solrj/SolrClient.java
>> +++ b/solr/solrj/src/java/org/apache/solr/client/solrj/SolrClient.java
>> @@ -33,12 +33,10 @@ import org.apache.solr.common.params.CommonParams;
>> import org.apache.solr.common.params.ModifiableSolrParams;
>> import org.apache.solr.common.params.SolrParams;
>> import org.apache.solr.common.util.NamedList;
>> -import org.conscrypt.OpenSSLProvider;
>>
>> import java.io.Closeable;
>> import java.io.IOException;
>> import java.io.Serializable;
>> -import java.security.Security;
>> import java.util.ArrayList;
>> import java.util.Collection;
>> import java.util.Collections;
>> @@ -53,12 +51,6 @@ import java.util.List;
>> public abstract class SolrClient implements Serializable, Closeable {
>>
>> private static final long serialVersionUID = 1L;
>> - static {
>> - // Set Conscrypt as default OpenSSLProvider for all clients
>> - if (Security.getProvider("Conscrypt") == null) {
>> - Security.insertProviderAt(new OpenSSLProvider(), 1);
>> - }
>> - }
>>
>> private DocumentObjectBinder binder;
>>
>>
>> http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edb6d0bc/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java
>> ________________________________
>> diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java
>> index 7c04dad..4add0f8 100644
>> --- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java
>> +++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java
>> @@ -53,6 +53,7 @@ import org.apache.solr.client.solrj.request.RequestWriter;
>> import org.apache.solr.client.solrj.request.UpdateRequest;
>> import org.apache.solr.client.solrj.request.V2Request;
>> import org.apache.solr.client.solrj.util.ClientUtils;
>> +import org.apache.solr.client.solrj.util.Constants;
>> import org.apache.solr.common.SolrException;
>> import org.apache.solr.common.StringUtils;
>> import org.apache.solr.common.params.CommonParams;
>> @@ -186,6 +187,11 @@ public class Http2SolrClient extends SolrClient {
>> httpClient = new HttpClient(transport, sslContextFactory);
>> if (builder.maxConnectionsPerHost != null) httpClient.setMaxConnectionsPerDestination(builder.maxConnectionsPerHost);
>> } else {
>> + if (sslContextFactory.getTrustStore() != null || sslContextFactory.getTrustStorePath() != null) {
>> + if (!Constants.JRE_IS_MINIMUM_JAVA9) {
>> + throw new IllegalArgumentException("SSL + HTTP/2 can only run on Java 9 or latter versions");
>> + }
>> + }
>> log.debug("Create Http2SolrClient with HTTP/2 transport");
>> HTTP2Client http2client = new HTTP2Client();
>> transport = new HttpClientTransportOverHTTP2(http2client);
>>
>> http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edb6d0bc/solr/solrj/src/java/org/apache/solr/client/solrj/util/Constants.java
>> ________________________________
>> diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/util/Constants.java b/solr/solrj/src/java/org/apache/solr/client/solrj/util/Constants.java
>> new file mode 100644
>> index 0000000..55ca618
>> --- /dev/null
>> +++ b/solr/solrj/src/java/org/apache/solr/client/solrj/util/Constants.java
>> @@ -0,0 +1,40 @@
>> +/*
>> + * Licensed to the Apache Software Foundation (ASF) under one or more
>> + * contributor license agreements. See the NOTICE file distributed with
>> + * this work for additional information regarding copyright ownership.
>> + * The ASF licenses this file to You under the Apache License, Version 2.0
>> + * (the "License"); you may not use this file except in compliance with
>> + * the License. You may obtain a copy of the License at
>> + *
>> + * http://www.apache.org/licenses/LICENSE-2.0
>> + *
>> + * Unless required by applicable law or agreed to in writing, software
>> + * distributed under the License is distributed on an "AS IS" BASIS,
>> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
>> + * See the License for the specific language governing permissions and
>> + * limitations under the License.
>> + */
>> +
>> +package org.apache.solr.client.solrj.util;
>> +
>> +import java.util.StringTokenizer;
>> +
>> +// Clone of org.apache.lucene.util.Constants, so SolrJ can use it
>> +public class Constants {
>> + public static final String JVM_SPEC_VERSION = System.getProperty("java.specification.version");
>> + private static final int JVM_MAJOR_VERSION;
>> + private static final int JVM_MINOR_VERSION;
>> +
>> + static {
>> + final StringTokenizer st = new StringTokenizer(JVM_SPEC_VERSION, ".");
>> + JVM_MAJOR_VERSION = Integer.parseInt(st.nextToken());
>> + if (st.hasMoreTokens()) {
>> + JVM_MINOR_VERSION = Integer.parseInt(st.nextToken());
>> + } else {
>> + JVM_MINOR_VERSION = 0;
>> + }
>> + }
>> +
>> + public static final boolean JRE_IS_MINIMUM_JAVA9 = JVM_MAJOR_VERSION > 1 || (JVM_MAJOR_VERSION == 1 && JVM_MINOR_VERSION >= 9);
>> +
>> +}
>>
>> http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edb6d0bc/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleBinaryHttp2Test.java
>> ________________________________
>> diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleBinaryHttp2Test.java b/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleBinaryHttp2Test.java
>> index 3faa00d..89923cb 100644
>> --- a/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleBinaryHttp2Test.java
>> +++ b/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleBinaryHttp2Test.java
>> @@ -18,8 +18,6 @@
>> package org.apache.solr.client.solrj;
>>
>> import org.apache.solr.SolrTestCaseJ4;
>> -import org.apache.solr.client.solrj.SolrClient;
>> -import org.apache.solr.client.solrj.SolrExampleTests;
>> import org.apache.solr.client.solrj.impl.BinaryRequestWriter;
>> import org.apache.solr.client.solrj.impl.BinaryResponseParser;
>> import org.apache.solr.client.solrj.impl.Http2SolrClient;
>> @@ -34,7 +32,7 @@ public class SolrExampleBinaryHttp2Test extends SolrExampleTests {
>>
>> @BeforeClass
>> public static void beforeTest() throws Exception {
>> - createJetty(legacyExampleCollection1SolrHome());
>> + createAndStartJetty(legacyExampleCollection1SolrHome());
>> }
>>
>> @Override
>>
>> http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edb6d0bc/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleStreamingHttp2Test.java
>> ________________________________
>> diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleStreamingHttp2Test.java b/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleStreamingHttp2Test.java
>> index 59a5df1..2dfbd67 100644
>> --- a/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleStreamingHttp2Test.java
>> +++ b/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleStreamingHttp2Test.java
>> @@ -36,7 +36,7 @@ public class SolrExampleStreamingHttp2Test extends SolrExampleTests {
>>
>> @BeforeClass
>> public static void beforeTest() throws Exception {
>> - createJetty(legacyExampleCollection1SolrHome());
>> + createAndStartJetty(legacyExampleCollection1SolrHome());
>> }
>>
>> @Override
>>
>> http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edb6d0bc/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleXMLHttp2Test.java
>> ________________________________
>> diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleXMLHttp2Test.java b/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleXMLHttp2Test.java
>> index d191169..8b169f4 100644
>> --- a/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleXMLHttp2Test.java
>> +++ b/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleXMLHttp2Test.java
>> @@ -27,7 +27,7 @@ import org.junit.BeforeClass;
>> public class SolrExampleXMLHttp2Test extends SolrExampleTests {
>> @BeforeClass
>> public static void beforeTest() throws Exception {
>> - createJetty(legacyExampleCollection1SolrHome());
>> + createAndStartJetty(legacyExampleCollection1SolrHome());
>> }
>>
>> @Override
>>
>> http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edb6d0bc/solr/solrj/src/test/org/apache/solr/client/solrj/impl/ConcurrentUpdateHttp2SolrClientBadInputTest.java
>> ________________________________
>> diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/ConcurrentUpdateHttp2SolrClientBadInputTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/ConcurrentUpdateHttp2SolrClientBadInputTest.java
>> index 7aea0a3..62515ca 100644
>> --- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/ConcurrentUpdateHttp2SolrClientBadInputTest.java
>> +++ b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/ConcurrentUpdateHttp2SolrClientBadInputTest.java
>> @@ -43,7 +43,7 @@ public class ConcurrentUpdateHttp2SolrClientBadInputTest extends SolrJettyTestBa
>> JettyConfig jettyConfig = JettyConfig.builder()
>> .withSSLConfig(sslConfig.buildServerSSLConfig())
>> .build();
>> - createJetty(legacyExampleCollection1SolrHome(), jettyConfig);
>> + createAndStartJetty(legacyExampleCollection1SolrHome(), jettyConfig);
>> }
>>
>> @Test
>>
>> http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edb6d0bc/solr/solrj/src/test/org/apache/solr/client/solrj/impl/ConcurrentUpdateHttp2SolrClientTest.java
>> ________________________________
>> diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/ConcurrentUpdateHttp2SolrClientTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/ConcurrentUpdateHttp2SolrClientTest.java
>> index 06016b4..3556e41 100644
>> --- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/ConcurrentUpdateHttp2SolrClientTest.java
>> +++ b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/ConcurrentUpdateHttp2SolrClientTest.java
>> @@ -55,7 +55,7 @@ public class ConcurrentUpdateHttp2SolrClientTest extends SolrJettyTestBase {
>> .withServlet(new ServletHolder(ConcurrentUpdateSolrClientTest.TestServlet.class), "/cuss/*")
>> .withSSLConfig(sslConfig.buildServerSSLConfig())
>> .build();
>> - createJetty(legacyExampleCollection1SolrHome(), jettyConfig);
>> + createAndStartJetty(legacyExampleCollection1SolrHome(), jettyConfig);
>> }
>>
>> @Test
>>
>> http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edb6d0bc/solr/solrj/src/test/org/apache/solr/client/solrj/impl/Http2SolrClientCompatibilityTest.java
>> ________________________________
>> diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/Http2SolrClientCompatibilityTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/Http2SolrClientCompatibilityTest.java
>> index b21a73e..2897304 100644
>> --- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/Http2SolrClientCompatibilityTest.java
>> +++ b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/Http2SolrClientCompatibilityTest.java
>> @@ -50,7 +50,7 @@ public class Http2SolrClientCompatibilityTest extends SolrJettyTestBase {
>> .withServlet(new ServletHolder(Http2SolrClientTest.DebugServlet.class), "/debug/*")
>> .useOnlyHttp1(true)
>> .build();
>> - createJetty(legacyExampleCollection1SolrHome(), jettyConfig);
>> + createAndStartJetty(legacyExampleCollection1SolrHome(), jettyConfig);
>>
>> try (Http2SolrClient client = new Http2SolrClient.Builder(jetty.getBaseUrl().toString() + "/debug/foo")
>> .useHttp1_1(true)
>> @@ -69,7 +69,7 @@ public class Http2SolrClientCompatibilityTest extends SolrJettyTestBase {
>> .withServlet(new ServletHolder(Http2SolrClientTest.DebugServlet.class), "/debug/*")
>> .useOnlyHttp1(false)
>> .build();
>> - createJetty(legacyExampleCollection1SolrHome(), jettyConfig);
>> + createAndStartJetty(legacyExampleCollection1SolrHome(), jettyConfig);
>>
>> try (Http2SolrClient client = new Http2SolrClient.Builder(jetty.getBaseUrl().toString() + "/debug/foo")
>> .useHttp1_1(true)
>> @@ -89,7 +89,7 @@ public class Http2SolrClientCompatibilityTest extends SolrJettyTestBase {
>> .withServlet(new ServletHolder(Http2SolrClientTest.DebugServlet.class), "/debug/*")
>> .useOnlyHttp1(true)
>> .build();
>> - createJetty(legacyExampleCollection1SolrHome(), jettyConfig);
>> + createAndStartJetty(legacyExampleCollection1SolrHome(), jettyConfig);
>> try (Http2SolrClient client = new Http2SolrClient.Builder(jetty.getBaseUrl().toString() + "/debug/foo")
>> .build()) {
>> assertTrue(client.getHttpClient().getTransport() instanceof HttpClientTransportOverHTTP2);
>>
>> http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edb6d0bc/solr/solrj/src/test/org/apache/solr/client/solrj/impl/Http2SolrClientTest.java
>> ________________________________
>> diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/Http2SolrClientTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/Http2SolrClientTest.java
>> index ff0fae1..ad7838b 100644
>> --- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/Http2SolrClientTest.java
>> +++ b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/Http2SolrClientTest.java
>> @@ -155,7 +155,7 @@ public class Http2SolrClientTest extends SolrJettyTestBase {
>> .withServlet(new ServletHolder(DebugServlet.class), "/debug/*")
>> .withSSLConfig(sslConfig.buildServerSSLConfig())
>> .build();
>> - createJetty(legacyExampleCollection1SolrHome(), jettyConfig);
>> + createAndStartJetty(legacyExampleCollection1SolrHome(), jettyConfig);
>> }
>>
>> private Http2SolrClient getHttp2SolrClient(String url, int connectionTimeOut, int socketTimeout) {
>>
>> http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edb6d0bc/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
>> ________________________________
>> diff --git a/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java b/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
>> index eec9524..30bb28b 100644
>> --- a/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
>> +++ b/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
>> @@ -142,7 +142,6 @@ import org.apache.solr.util.StartupLoggingUtils;
>> import org.apache.solr.util.TestHarness;
>> import org.apache.solr.util.TestInjection;
>> import org.apache.zookeeper.KeeperException;
>> -import org.conscrypt.OpenSSLProvider;
>> import org.junit.After;
>> import org.junit.AfterClass;
>> import org.junit.Before;
>> @@ -201,13 +200,6 @@ public abstract class SolrTestCaseJ4 extends LuceneTestCase {
>>
>> protected volatile static ExecutorService testExecutor;
>>
>> - static {
>> - // Set Conscrypt as default OpenSSLProvider for all clients
>> - if (Security.getProvider("Conscrypt") == null) {
>> - Security.insertProviderAt(new OpenSSLProvider(), 1);
>> - }
>> - }
>> -
>> protected void writeCoreProperties(Path coreDirectory, String corename) throws IOException {
>> Properties props = new Properties();
>> props.setProperty("name", corename);
>>
>> http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edb6d0bc/solr/test-framework/src/java/org/apache/solr/util/RandomizeSSL.java
>> ________________________________
>> diff --git a/solr/test-framework/src/java/org/apache/solr/util/RandomizeSSL.java b/solr/test-framework/src/java/org/apache/solr/util/RandomizeSSL.java
>> index 2450dad..b6ca51c 100644
>> --- a/solr/test-framework/src/java/org/apache/solr/util/RandomizeSSL.java
>> +++ b/solr/test-framework/src/java/org/apache/solr/util/RandomizeSSL.java
>> @@ -23,6 +23,7 @@ import java.lang.annotation.Retention;
>> import java.lang.annotation.RetentionPolicy;
>> import java.lang.annotation.Target;
>>
>> +import org.apache.lucene.util.Constants;
>> import org.apache.lucene.util.LuceneTestCase;
>> import org.apache.lucene.util.TestUtil;
>> import org.apache.solr.SolrTestCaseJ4.SuppressSSL;
>> @@ -136,6 +137,9 @@ public @interface RandomizeSSL {
>> * Returns an SSLRandomizer suitable for the specified (test) class
>> */
>> public static final SSLRandomizer getSSLRandomizerForClass(Class clazz) {
>> + if (!Constants.JRE_IS_MINIMUM_JAVA9) {
>> + return new SSLRandomizer(0.0D, 0.0D, "Only Java9 or latter versions support SSL with HTTP/2");
>> + }
>>
>> final SuppressSSL suppression = (SuppressSSL) clazz.getAnnotation(SuppressSSL.class);
>> if (null != suppression) {
>>
>> http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edb6d0bc/solr/webapp/build.xml
>> ________________________________
>> diff --git a/solr/webapp/build.xml b/solr/webapp/build.xml
>> index 3f4c1a7..b8904de 100644
>> --- a/solr/webapp/build.xml
>> +++ b/solr/webapp/build.xml
>> @@ -24,8 +24,7 @@
>> <import file="../common-build.xml"/>
>>
>> <property name="exclude.from.webapp" value="*slf4j*,log4j-*,*javax.servlet*" />
>> - <property name="exclude.from.sorlj" value="conscrypt-openjdk*" />
>> -
>> +
>> <!-- this module has no javadocs -->
>> <target name="javadocs"/>
>>
>>
>
> --
> Uwe Schindler
> Achterdiek 19, 28357 Bremen
> https://www.thetaphi.de
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org