Hi,

 

About the bundling of conscrypt.jar in the binary distribution of Apache Solr, 
I opened LEGAL-425:

https://issues.apache.org/jira/browse/LEGAL-425

 

Uwe

 

-----

Uwe Schindler

Achterdiek 19, D-28357 Bremen

http://www.thetaphi.de <http://www.thetaphi.de/> 

eMail: u...@thetaphi.de

 

From: Uwe Schindler <u...@thetaphi.de> 
Sent: Wednesday, November 28, 2018 11:38 AM
To: dev@lucene.apache.org
Subject: RE: Poll: Merge jira/http2 to master branch

 

Hi Dat, hi Shawn,

 

Thanks for the confirmation! This is what I had in mind (missing ALPN support).

 

IMHO, we should not yet switch away from Java 8 as minimum requirement. With 
multi-release JARs we are at the moment perfectly able to handle users with 
newer Java versions, but we should still support Java 8 (as its still widely 
deployed), although EOL is close. As Redhat, AdoptOpenJDK, and several Linux 
distributions still provide support for Java 8 at least for 2 or 3 more years, 
I think it’s to early to switch. With recent changes, the support by Oracle is 
no longer the way to go, as there are many alternatives.

 

My proposal would be to wait until master is branched to “branch_8x” (stays on 
Java 8 + MR-JAR support), then change “master” to have Java 11 as minimum 
requirement.

 

About HTTP2: I have no problem with bundling conscrypt (is it needed for both 
Jetty Server and Jetty Client)?, but disable it by default and only register it 
in the Java TLS SPI, if Java 8 is used. On Java 9 and later use the shipped 
HTTP2 support. My proposal would be to do it with a Multirelease JAR (this is 
currently enabled in Lucene already).

 

If there are license problems, we can do the following: Disable HTTP2 on Java 8 
completely but provide documentation in the Solr Ref Guide how to enable it 
(something like: download conscrypt-uber.jar from maven and save in solr/lib 
directory). We can enable it automatically, if class.forName() does not throw 
CNFE). Maybe add a sysprop, but that’s not needed. I think enabling conscrypt 
is easy with reflection only, or do we need to compile hard against it. From 
what I figured out, it’s only used at a few places.

 

SolrJ should by default ship without conscyrpt (make it “optional” maven 
dependency). If it’s in classpath, enable it.

 

Uwe

 

-----

Uwe Schindler

Achterdiek 19, D-28357 Bremen

http://www.thetaphi.de <http://www.thetaphi.de/> 

eMail: u...@thetaphi.de <mailto:u...@thetaphi.de> 

 

From: Đạt Cao Mạnh <caomanhdat...@gmail.com <mailto:caomanhdat...@gmail.com> > 
Sent: Wednesday, November 28, 2018 11:01 AM
To: Solr/Lucene Dev <dev@lucene.apache.org <mailto:dev@lucene.apache.org> >
Subject: Re: Poll: Merge jira/http2 to master branch

 

Hi,

 

I will try to summary all the options here

1. No support for HTTP/2 + SSL at all, if users want to run SSL they must stick 
with HTTP/1.1

2. Set Java requirement to 9 and use ALPN implementation of JDK 9

3. If users want to use HTTP/2, we will notice about license problem then 
download and use Conscrypt library. Of course that we still test the Conscrypt 
implementation in tests.

 

 

On Wed, Nov 28, 2018 at 1:06 AM Shawn Heisey <apa...@elyograg.org 
<mailto:apa...@elyograg.org> > wrote:

On 11/27/2018 3:32 AM, Uwe Schindler wrote:
> I'd like to bring one thing into attention: This library conscrypt is 
> ASF2-licensed, but the JAR files contain binary versions of an OpenSSL fork 
> named BoringSSL. I'd recommend to check the licensing, because OpenSSL 
> licenses are a bit strange (some BSD fork, also ASF2, but some code is still 
> outdated - I am not sure what the fork actually uses). I have the feeling we 
> should include ASF legal department.
>
> Nevertheless, I am not 100% sure if conscrypt should really be inclued by 
> default in SolrJ. As SolrJ is a client library for Solr and can be used by 
> external projects, there is the problem of incompatibilities with the native 
> C code included. E.g., if one uses SolrJ with IBM J9 or other Java versions 
> different from openjdk. So I'd be careful. My question is: Do we really need 
> that library. To me it looks like it improves speed only, or is there 
> something that requires its use?

As you might know ... full and proper http/2 support with Java 8 
requires the conscrypt library.  With Java 9 or higher, the 
functionality is provided natively by Java.  If I remember right, what 
conscrypt provides that Java 8 lacks is ALPN.

If there are license issues with conscrypt, perhaps it might make sense 
to require a newer major version of Java instead ... but I think that 
upgrading the project's Java requirement to 9, 10, or 11 probably 
requires a wider discussion.  Lucene probably has no burning need for it 
right now.  I have no idea whether there are language features in Java 
9+ that we as a group are wanting to use.  Another point for 
consideration is that the effective EOL for Java 8 is fast approaching, 
and EOL dates have already come and gone for 9 and 10.

Thanks,
Shawn


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org 
<mailto:dev-unsubscr...@lucene.apache.org> 
For additional commands, e-mail: dev-h...@lucene.apache.org 
<mailto:dev-h...@lucene.apache.org> 




 

-- 

Best regards,

Cao Mạnh Đạt

D.O.B : 31-07-1991
Cell: (+84) 946.328.329
E-mail:  <mailto:caomanhdat...@gmail.com> caomanhdat...@gmail.com

Reply via email to