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