Re: How to create a local build that targets Java 11, when building with 17?

2023-05-05 Thread Dawid Weiss
Apologies for not replying yesterday and thank you, Greg, for answering the
question.

All I could add is that it's a pretty common semantic versioning scheme
[1], although there is no rigorous method of policing it - very often it's
just relying on common sense. Lucene often does add big code changes to
what's a "minor" release in this scheme (9x) but only if they're backward
compatible. Major releases are limited to breaking the API, bumping the
minimum Java version, etc.

Dawid

[1] https://semver.org/

On Sat, May 6, 2023 at 1:53 AM Greg Miller  wrote:

> Hi Jonathan-
>
> The main branch is the tip of development, and what will eventually become
> 10.0. It can use a later version of Java, make (some)
> non-backwards-compatible API changes, etc. branch_9x tracks the latest 9.x
> release, and must run on the version of Java supported by 9.x releases,
> must be API backwards-compatible, etc. The general approach is to make
> changes against main, and then backport those changes to branch_9x in a 9.x
> friendly way if possible. Sometimes a change on main is complex enough that
> backporting in a 9.x friendly manner isn't really feasible, in which case
> the change will be released with 10.0. I'm sure I'm leaving out some
> details, but hopefully this is helpful. You may also find this reference
> useful:
> https://cwiki.apache.org/confluence/display/LUCENE/BackwardsCompatibility
>
> Cheers,
> -Greg
>
> On Fri, May 5, 2023 at 12:00 PM Jonathan Ellis  wrote:
>
>> Thanks.  What are the rules for what should go into main vs branch_9x?
>>
>> On Fri, May 5, 2023 at 1:54 PM Dawid Weiss  wrote:
>>
>>>
>>> The main branch is on Java 17, see build.gradle:
>>>
>>>   // Minimum Java version required to compile and run Lucene.
>>>   minJavaVersion = JavaVersion.VERSION_17
>>>
>>> Also, don't use the default gradle task created by convention; use this
>>> one:
>>>
>>> ./gradlew mavenToLocal
>>>
>>> it's an alias but it publishes only a subset of relevant projects, not
>>> all of them.
>>>
>>> Dawid
>>>
>>> On Fri, May 5, 2023 at 8:03 PM Jonathan Ellis  wrote:
>>>
 Actually my hack doesn't work, the manifest file changes but the .class
 files do not.

 On Fri, May 5, 2023 at 12:38 PM Jonathan Ellis 
 wrote:

> `./gradlew publishToMavenLocal` gives me Java 17 class files by
> default, which surprises me since AFAIK 11 is still the minimum to run
> Lucene.
>
> I hacked it to work by editing javac.gradle
> sourceCompatibility = JavaVersion.VERSION_11
> targetCompatibility = JavaVersion.VERSION_11
>
> Is there a cleaner way to do this?
>
> --
> Jonathan Ellis
> co-founder, http://www.datastax.com
> @spyced
>


 --
 Jonathan Ellis
 co-founder, http://www.datastax.com
 @spyced

>>>
>>
>> --
>> Jonathan Ellis
>> co-founder, http://www.datastax.com
>> @spyced
>>
>


Re: How to create a local build that targets Java 11, when building with 17?

2023-05-05 Thread Greg Miller
Hi Jonathan-

The main branch is the tip of development, and what will eventually become
10.0. It can use a later version of Java, make (some)
non-backwards-compatible API changes, etc. branch_9x tracks the latest 9.x
release, and must run on the version of Java supported by 9.x releases,
must be API backwards-compatible, etc. The general approach is to make
changes against main, and then backport those changes to branch_9x in a 9.x
friendly way if possible. Sometimes a change on main is complex enough that
backporting in a 9.x friendly manner isn't really feasible, in which case
the change will be released with 10.0. I'm sure I'm leaving out some
details, but hopefully this is helpful. You may also find this reference
useful:
https://cwiki.apache.org/confluence/display/LUCENE/BackwardsCompatibility

Cheers,
-Greg

On Fri, May 5, 2023 at 12:00 PM Jonathan Ellis  wrote:

> Thanks.  What are the rules for what should go into main vs branch_9x?
>
> On Fri, May 5, 2023 at 1:54 PM Dawid Weiss  wrote:
>
>>
>> The main branch is on Java 17, see build.gradle:
>>
>>   // Minimum Java version required to compile and run Lucene.
>>   minJavaVersion = JavaVersion.VERSION_17
>>
>> Also, don't use the default gradle task created by convention; use this
>> one:
>>
>> ./gradlew mavenToLocal
>>
>> it's an alias but it publishes only a subset of relevant projects, not
>> all of them.
>>
>> Dawid
>>
>> On Fri, May 5, 2023 at 8:03 PM Jonathan Ellis  wrote:
>>
>>> Actually my hack doesn't work, the manifest file changes but the .class
>>> files do not.
>>>
>>> On Fri, May 5, 2023 at 12:38 PM Jonathan Ellis 
>>> wrote:
>>>
 `./gradlew publishToMavenLocal` gives me Java 17 class files by
 default, which surprises me since AFAIK 11 is still the minimum to run
 Lucene.

 I hacked it to work by editing javac.gradle
 sourceCompatibility = JavaVersion.VERSION_11
 targetCompatibility = JavaVersion.VERSION_11

 Is there a cleaner way to do this?

 --
 Jonathan Ellis
 co-founder, http://www.datastax.com
 @spyced

>>>
>>>
>>> --
>>> Jonathan Ellis
>>> co-founder, http://www.datastax.com
>>> @spyced
>>>
>>
>
> --
> Jonathan Ellis
> co-founder, http://www.datastax.com
> @spyced
>


Re: How to create a local build that targets Java 11, when building with 17?

2023-05-05 Thread Jonathan Ellis
Thanks.  What are the rules for what should go into main vs branch_9x?

On Fri, May 5, 2023 at 1:54 PM Dawid Weiss  wrote:

>
> The main branch is on Java 17, see build.gradle:
>
>   // Minimum Java version required to compile and run Lucene.
>   minJavaVersion = JavaVersion.VERSION_17
>
> Also, don't use the default gradle task created by convention; use this
> one:
>
> ./gradlew mavenToLocal
>
> it's an alias but it publishes only a subset of relevant projects, not all
> of them.
>
> Dawid
>
> On Fri, May 5, 2023 at 8:03 PM Jonathan Ellis  wrote:
>
>> Actually my hack doesn't work, the manifest file changes but the .class
>> files do not.
>>
>> On Fri, May 5, 2023 at 12:38 PM Jonathan Ellis  wrote:
>>
>>> `./gradlew publishToMavenLocal` gives me Java 17 class files by default,
>>> which surprises me since AFAIK 11 is still the minimum to run Lucene.
>>>
>>> I hacked it to work by editing javac.gradle
>>> sourceCompatibility = JavaVersion.VERSION_11
>>> targetCompatibility = JavaVersion.VERSION_11
>>>
>>> Is there a cleaner way to do this?
>>>
>>> --
>>> Jonathan Ellis
>>> co-founder, http://www.datastax.com
>>> @spyced
>>>
>>
>>
>> --
>> Jonathan Ellis
>> co-founder, http://www.datastax.com
>> @spyced
>>
>

-- 
Jonathan Ellis
co-founder, http://www.datastax.com
@spyced


Re: How to create a local build that targets Java 11, when building with 17?

2023-05-05 Thread Dawid Weiss
The main branch is on Java 17, see build.gradle:

  // Minimum Java version required to compile and run Lucene.
  minJavaVersion = JavaVersion.VERSION_17

Also, don't use the default gradle task created by convention; use this one:

./gradlew mavenToLocal

it's an alias but it publishes only a subset of relevant projects, not all
of them.

Dawid

On Fri, May 5, 2023 at 8:03 PM Jonathan Ellis  wrote:

> Actually my hack doesn't work, the manifest file changes but the .class
> files do not.
>
> On Fri, May 5, 2023 at 12:38 PM Jonathan Ellis  wrote:
>
>> `./gradlew publishToMavenLocal` gives me Java 17 class files by default,
>> which surprises me since AFAIK 11 is still the minimum to run Lucene.
>>
>> I hacked it to work by editing javac.gradle
>> sourceCompatibility = JavaVersion.VERSION_11
>> targetCompatibility = JavaVersion.VERSION_11
>>
>> Is there a cleaner way to do this?
>>
>> --
>> Jonathan Ellis
>> co-founder, http://www.datastax.com
>> @spyced
>>
>
>
> --
> Jonathan Ellis
> co-founder, http://www.datastax.com
> @spyced
>


Re: How to create a local build that targets Java 11, when building with 17?

2023-05-05 Thread Jonathan Ellis
Actually my hack doesn't work, the manifest file changes but the .class
files do not.

On Fri, May 5, 2023 at 12:38 PM Jonathan Ellis  wrote:

> `./gradlew publishToMavenLocal` gives me Java 17 class files by default,
> which surprises me since AFAIK 11 is still the minimum to run Lucene.
>
> I hacked it to work by editing javac.gradle
> sourceCompatibility = JavaVersion.VERSION_11
> targetCompatibility = JavaVersion.VERSION_11
>
> Is there a cleaner way to do this?
>
> --
> Jonathan Ellis
> co-founder, http://www.datastax.com
> @spyced
>


-- 
Jonathan Ellis
co-founder, http://www.datastax.com
@spyced


How to create a local build that targets Java 11, when building with 17?

2023-05-05 Thread Jonathan Ellis
`./gradlew publishToMavenLocal` gives me Java 17 class files by default,
which surprises me since AFAIK 11 is still the minimum to run Lucene.

I hacked it to work by editing javac.gradle
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11

Is there a cleaner way to do this?

-- 
Jonathan Ellis
co-founder, http://www.datastax.com
@spyced


Re: Java 11/17 Version Matrix

2021-09-14 Thread Dawid Weiss
Let's wait for this functionality and see what happens. If the gain is
significant then this provides an incentive to upgrade for everyone.
MR-JARs will be a pain to keep consistent...

Dawid

On Tue, Sep 14, 2021 at 10:19 AM Adrien Grand  wrote:

> I think we should discuss options when Project Panama is released. Doing
> frequent major releases forces users to reindex more often. If Project
> Panama was released shortly and we decided to release Lucene 10
> immediately, this would force users to reindex their 8.x data to be able to
> upgrade, I know of many Elasticsearch users for whom it would cause
> headaches and I suspect that it's no different for Solr users and many
> direct users of Lucene. I'd rather look into publishing a MR JAR of bumping
> the minimum required Java version in a minor release than releasing Lucene
> 10.0 less than 1 year after 9.0.
>
> On Mon, Sep 13, 2021 at 9:19 PM Uwe Schindler  wrote:
>
>> In addition: we test for compatibility with Java 17 (both Lucene and
>> Solr), so consumer is still able to use any version and has enough
>> flexibility.
>>
>> Uwe
>>
>> Am 13. September 2021 18:52:53 UTC schrieb Dawid Weiss <
>> dawid.we...@gmail.com>:
>>>
>>>
>>> I agree with Uwe and Robert. JDK11, then the min bar should move if
>>> there is something that brings value (be it performance, LTS or some other
>>> attractive option).
>>>
>>> Dawid
>>>
>>> On Mon, Sep 13, 2021 at 8:15 PM Robert Muir  wrote:
>>>
>>>> +1, I think the main thing to watch out for is project panama. If we
>>>> get a 18.x/19.x release with non-incubating APIs, I think it makes
>>>> sense to create a new major Lucene version. Even if it isn't an
>>>> OpenJDK LTS release. It could really change a lot, especially
>>>> regarding hotspots in the code such as postings/dv compression. So it
>>>> would be great to allow a lot of folks to make a "take two" on these
>>>> algorithms with vectorization in mind. This is just my opinion.
>>>>
>>>> On Mon, Sep 13, 2021 at 2:10 PM Uwe Schindler  wrote:
>>>> >
>>>> > There are no good reasons to do Java 17 and it is way too early.
>>>> >
>>>> >
>>>> >
>>>> > Reagrding real optimizations, Lucene 17 is unfortunately not
>>>> containing Project Panama or Vector API, so it looks more like Java 18/19
>>>> is a good candidate as a new minimum at a later stage.
>>>> >
>>>> >
>>>> >
>>>> > I’d release Lucene 9 with Java 11 (which is LTS) and then decide
>>>> later if we update to some post-17 version to get the new vector and panama
>>>> APIs (vector search, SIMD and also MMapDirectory v2). If we do this, we
>>>> should simply release Lucene 10.
>>>> >
>>>> >
>>>> >
>>>> > Uwe
>>>> >
>>>> >
>>>> >
>>>> > -
>>>> >
>>>> > Uwe Schindler
>>>> >
>>>> > Achterdiek 19, D-28357 Bremen
>>>> >
>>>> > https://www.thetaphi.de
>>>> >
>>>> > eMail: u...@thetaphi.de
>>>> >
>>>> >
>>>> >
>>>> > From: Mike Drob 
>>>> > Sent: Monday, September 13, 2021 8:00 PM
>>>> > To: Solr/Lucene Dev 
>>>> > Subject: Java 11/17 Version Matrix
>>>> >
>>>> >
>>>> >
>>>> > Hi Devs,
>>>> >
>>>> >
>>>> >
>>>> > What are our thoughts on Java 11 and 17 version compatibility going
>>>> forward for Lucene 9? Will we support both? If so, would Java 11 support
>>>> likely continue for the entire 9.x release line?
>>>> >
>>>> >
>>>> >
>>>> > Is there a JIRA tracking this?
>>>> >
>>>> >
>>>> >
>>>> > Thanks,
>>>> >
>>>> > Mike
>>>>
>>>> -
>>>> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>>>> For additional commands, e-mail: dev-h...@lucene.apache.org
>>>>
>>>> --
>> Uwe Schindler
>> Achterdiek 19, 28357 Bremen
>> https://www.thetaphi.de
>>
>
>
> --
> Adrien
>


Re: Java 11/17 Version Matrix

2021-09-14 Thread Robert Muir
Sorry, this is a bogus argument. Nobody is holding a gun to anyone's
head and forcing them to upgrade.

When we have new major functionality, we should be able to issue new
major releases, to hell with elasticsearch users.

On Tue, Sep 14, 2021 at 4:19 AM Adrien Grand  wrote:
>
> I think we should discuss options when Project Panama is released. Doing 
> frequent major releases forces users to reindex more often. If Project Panama 
> was released shortly and we decided to release Lucene 10 immediately, this 
> would force users to reindex their 8.x data to be able to upgrade, I know of 
> many Elasticsearch users for whom it would cause headaches and I suspect that 
> it's no different for Solr users and many direct users of Lucene. I'd rather 
> look into publishing a MR JAR of bumping the minimum required Java version in 
> a minor release than releasing Lucene 10.0 less than 1 year after 9.0.
>
> On Mon, Sep 13, 2021 at 9:19 PM Uwe Schindler  wrote:
>>
>> In addition: we test for compatibility with Java 17 (both Lucene and Solr), 
>> so consumer is still able to use any version and has enough flexibility.
>>
>> Uwe
>>
>> Am 13. September 2021 18:52:53 UTC schrieb Dawid Weiss 
>> :
>>>
>>>
>>> I agree with Uwe and Robert. JDK11, then the min bar should move if there 
>>> is something that brings value (be it performance, LTS or some other 
>>> attractive option).
>>>
>>> Dawid
>>>
>>> On Mon, Sep 13, 2021 at 8:15 PM Robert Muir  wrote:
>>>>
>>>> +1, I think the main thing to watch out for is project panama. If we
>>>> get a 18.x/19.x release with non-incubating APIs, I think it makes
>>>> sense to create a new major Lucene version. Even if it isn't an
>>>> OpenJDK LTS release. It could really change a lot, especially
>>>> regarding hotspots in the code such as postings/dv compression. So it
>>>> would be great to allow a lot of folks to make a "take two" on these
>>>> algorithms with vectorization in mind. This is just my opinion.
>>>>
>>>> On Mon, Sep 13, 2021 at 2:10 PM Uwe Schindler  wrote:
>>>> >
>>>> > There are no good reasons to do Java 17 and it is way too early.
>>>> >
>>>> >
>>>> >
>>>> > Reagrding real optimizations, Lucene 17 is unfortunately not containing 
>>>> > Project Panama or Vector API, so it looks more like Java 18/19 is a good 
>>>> > candidate as a new minimum at a later stage.
>>>> >
>>>> >
>>>> >
>>>> > I’d release Lucene 9 with Java 11 (which is LTS) and then decide later 
>>>> > if we update to some post-17 version to get the new vector and panama 
>>>> > APIs (vector search, SIMD and also MMapDirectory v2). If we do this, we 
>>>> > should simply release Lucene 10.
>>>> >
>>>> >
>>>> >
>>>> > Uwe
>>>> >
>>>> >
>>>> >
>>>> > -
>>>> >
>>>> > Uwe Schindler
>>>> >
>>>> > Achterdiek 19, D-28357 Bremen
>>>> >
>>>> > https://www.thetaphi.de
>>>> >
>>>> > eMail: u...@thetaphi.de
>>>> >
>>>> >
>>>> >
>>>> > From: Mike Drob 
>>>> > Sent: Monday, September 13, 2021 8:00 PM
>>>> > To: Solr/Lucene Dev 
>>>> > Subject: Java 11/17 Version Matrix
>>>> >
>>>> >
>>>> >
>>>> > Hi Devs,
>>>> >
>>>> >
>>>> >
>>>> > What are our thoughts on Java 11 and 17 version compatibility going 
>>>> > forward for Lucene 9? Will we support both? If so, would Java 11 support 
>>>> > likely continue for the entire 9.x release line?
>>>> >
>>>> >
>>>> >
>>>> > Is there a JIRA tracking this?
>>>> >
>>>> >
>>>> >
>>>> > Thanks,
>>>> >
>>>> > Mike
>>>>
>>>> -
>>>> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>>>> For additional commands, e-mail: dev-h...@lucene.apache.org
>>>>
>> --
>> Uwe Schindler
>> Achterdiek 19, 28357 Bremen
>> https://www.thetaphi.de
>
>
>
> --
> Adrien

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



Re: Java 11/17 Version Matrix

2021-09-14 Thread Adrien Grand
I think we should discuss options when Project Panama is released. Doing
frequent major releases forces users to reindex more often. If Project
Panama was released shortly and we decided to release Lucene 10
immediately, this would force users to reindex their 8.x data to be able to
upgrade, I know of many Elasticsearch users for whom it would cause
headaches and I suspect that it's no different for Solr users and many
direct users of Lucene. I'd rather look into publishing a MR JAR of bumping
the minimum required Java version in a minor release than releasing Lucene
10.0 less than 1 year after 9.0.

On Mon, Sep 13, 2021 at 9:19 PM Uwe Schindler  wrote:

> In addition: we test for compatibility with Java 17 (both Lucene and
> Solr), so consumer is still able to use any version and has enough
> flexibility.
>
> Uwe
>
> Am 13. September 2021 18:52:53 UTC schrieb Dawid Weiss <
> dawid.we...@gmail.com>:
>>
>>
>> I agree with Uwe and Robert. JDK11, then the min bar should move if there
>> is something that brings value (be it performance, LTS or some other
>> attractive option).
>>
>> Dawid
>>
>> On Mon, Sep 13, 2021 at 8:15 PM Robert Muir  wrote:
>>
>>> +1, I think the main thing to watch out for is project panama. If we
>>> get a 18.x/19.x release with non-incubating APIs, I think it makes
>>> sense to create a new major Lucene version. Even if it isn't an
>>> OpenJDK LTS release. It could really change a lot, especially
>>> regarding hotspots in the code such as postings/dv compression. So it
>>> would be great to allow a lot of folks to make a "take two" on these
>>> algorithms with vectorization in mind. This is just my opinion.
>>>
>>> On Mon, Sep 13, 2021 at 2:10 PM Uwe Schindler  wrote:
>>> >
>>> > There are no good reasons to do Java 17 and it is way too early.
>>> >
>>> >
>>> >
>>> > Reagrding real optimizations, Lucene 17 is unfortunately not
>>> containing Project Panama or Vector API, so it looks more like Java 18/19
>>> is a good candidate as a new minimum at a later stage.
>>> >
>>> >
>>> >
>>> > I’d release Lucene 9 with Java 11 (which is LTS) and then decide later
>>> if we update to some post-17 version to get the new vector and panama APIs
>>> (vector search, SIMD and also MMapDirectory v2). If we do this, we should
>>> simply release Lucene 10.
>>> >
>>> >
>>> >
>>> > Uwe
>>> >
>>> >
>>> >
>>> > -
>>> >
>>> > Uwe Schindler
>>> >
>>> > Achterdiek 19, D-28357 Bremen
>>> >
>>> > https://www.thetaphi.de
>>> >
>>> > eMail: u...@thetaphi.de
>>> >
>>> >
>>> >
>>> > From: Mike Drob 
>>> > Sent: Monday, September 13, 2021 8:00 PM
>>> > To: Solr/Lucene Dev 
>>> > Subject: Java 11/17 Version Matrix
>>> >
>>> >
>>> >
>>> > Hi Devs,
>>> >
>>> >
>>> >
>>> > What are our thoughts on Java 11 and 17 version compatibility going
>>> forward for Lucene 9? Will we support both? If so, would Java 11 support
>>> likely continue for the entire 9.x release line?
>>> >
>>> >
>>> >
>>> > Is there a JIRA tracking this?
>>> >
>>> >
>>> >
>>> > Thanks,
>>> >
>>> > Mike
>>>
>>> -
>>> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>>> For additional commands, e-mail: dev-h...@lucene.apache.org
>>>
>>> --
> Uwe Schindler
> Achterdiek 19, 28357 Bremen
> https://www.thetaphi.de
>


-- 
Adrien


Re: Java 11/17 Version Matrix

2021-09-13 Thread Uwe Schindler
In addition: we test for compatibility with Java 17 (both Lucene and Solr), so 
consumer is still able to use any version and has enough flexibility.

Uwe

Am 13. September 2021 18:52:53 UTC schrieb Dawid Weiss :
>I agree with Uwe and Robert. JDK11, then the min bar should move if there
>is something that brings value (be it performance, LTS or some other
>attractive option).
>
>Dawid
>
>On Mon, Sep 13, 2021 at 8:15 PM Robert Muir  wrote:
>
>> +1, I think the main thing to watch out for is project panama. If we
>> get a 18.x/19.x release with non-incubating APIs, I think it makes
>> sense to create a new major Lucene version. Even if it isn't an
>> OpenJDK LTS release. It could really change a lot, especially
>> regarding hotspots in the code such as postings/dv compression. So it
>> would be great to allow a lot of folks to make a "take two" on these
>> algorithms with vectorization in mind. This is just my opinion.
>>
>> On Mon, Sep 13, 2021 at 2:10 PM Uwe Schindler  wrote:
>> >
>> > There are no good reasons to do Java 17 and it is way too early.
>> >
>> >
>> >
>> > Reagrding real optimizations, Lucene 17 is unfortunately not containing
>> Project Panama or Vector API, so it looks more like Java 18/19 is a good
>> candidate as a new minimum at a later stage.
>> >
>> >
>> >
>> > I’d release Lucene 9 with Java 11 (which is LTS) and then decide later
>> if we update to some post-17 version to get the new vector and panama APIs
>> (vector search, SIMD and also MMapDirectory v2). If we do this, we should
>> simply release Lucene 10.
>> >
>> >
>> >
>> > Uwe
>> >
>> >
>> >
>> > -
>> >
>> > Uwe Schindler
>> >
>> > Achterdiek 19, D-28357 Bremen
>> >
>> > https://www.thetaphi.de
>> >
>> > eMail: u...@thetaphi.de
>> >
>> >
>> >
>> > From: Mike Drob 
>> > Sent: Monday, September 13, 2021 8:00 PM
>> > To: Solr/Lucene Dev 
>> > Subject: Java 11/17 Version Matrix
>> >
>> >
>> >
>> > Hi Devs,
>> >
>> >
>> >
>> > What are our thoughts on Java 11 and 17 version compatibility going
>> forward for Lucene 9? Will we support both? If so, would Java 11 support
>> likely continue for the entire 9.x release line?
>> >
>> >
>> >
>> > Is there a JIRA tracking this?
>> >
>> >
>> >
>> > Thanks,
>> >
>> > Mike
>>
>> -
>> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>> For additional commands, e-mail: dev-h...@lucene.apache.org
>>
>>

--
Uwe Schindler
Achterdiek 19, 28357 Bremen
https://www.thetaphi.de

Re: Java 11/17 Version Matrix

2021-09-13 Thread Dawid Weiss
I agree with Uwe and Robert. JDK11, then the min bar should move if there
is something that brings value (be it performance, LTS or some other
attractive option).

Dawid

On Mon, Sep 13, 2021 at 8:15 PM Robert Muir  wrote:

> +1, I think the main thing to watch out for is project panama. If we
> get a 18.x/19.x release with non-incubating APIs, I think it makes
> sense to create a new major Lucene version. Even if it isn't an
> OpenJDK LTS release. It could really change a lot, especially
> regarding hotspots in the code such as postings/dv compression. So it
> would be great to allow a lot of folks to make a "take two" on these
> algorithms with vectorization in mind. This is just my opinion.
>
> On Mon, Sep 13, 2021 at 2:10 PM Uwe Schindler  wrote:
> >
> > There are no good reasons to do Java 17 and it is way too early.
> >
> >
> >
> > Reagrding real optimizations, Lucene 17 is unfortunately not containing
> Project Panama or Vector API, so it looks more like Java 18/19 is a good
> candidate as a new minimum at a later stage.
> >
> >
> >
> > I’d release Lucene 9 with Java 11 (which is LTS) and then decide later
> if we update to some post-17 version to get the new vector and panama APIs
> (vector search, SIMD and also MMapDirectory v2). If we do this, we should
> simply release Lucene 10.
> >
> >
> >
> > Uwe
> >
> >
> >
> > -
> >
> > Uwe Schindler
> >
> > Achterdiek 19, D-28357 Bremen
> >
> > https://www.thetaphi.de
> >
> > eMail: u...@thetaphi.de
> >
> >
> >
> > From: Mike Drob 
> > Sent: Monday, September 13, 2021 8:00 PM
> > To: Solr/Lucene Dev 
> > Subject: Java 11/17 Version Matrix
> >
> >
> >
> > Hi Devs,
> >
> >
> >
> > What are our thoughts on Java 11 and 17 version compatibility going
> forward for Lucene 9? Will we support both? If so, would Java 11 support
> likely continue for the entire 9.x release line?
> >
> >
> >
> > Is there a JIRA tracking this?
> >
> >
> >
> > Thanks,
> >
> > Mike
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org
>
>


Re: Java 11/17 Version Matrix

2021-09-13 Thread Robert Muir
+1, I think the main thing to watch out for is project panama. If we
get a 18.x/19.x release with non-incubating APIs, I think it makes
sense to create a new major Lucene version. Even if it isn't an
OpenJDK LTS release. It could really change a lot, especially
regarding hotspots in the code such as postings/dv compression. So it
would be great to allow a lot of folks to make a "take two" on these
algorithms with vectorization in mind. This is just my opinion.

On Mon, Sep 13, 2021 at 2:10 PM Uwe Schindler  wrote:
>
> There are no good reasons to do Java 17 and it is way too early.
>
>
>
> Reagrding real optimizations, Lucene 17 is unfortunately not containing 
> Project Panama or Vector API, so it looks more like Java 18/19 is a good 
> candidate as a new minimum at a later stage.
>
>
>
> I’d release Lucene 9 with Java 11 (which is LTS) and then decide later if we 
> update to some post-17 version to get the new vector and panama APIs (vector 
> search, SIMD and also MMapDirectory v2). If we do this, we should simply 
> release Lucene 10.
>
>
>
> Uwe
>
>
>
> -
>
> Uwe Schindler
>
> Achterdiek 19, D-28357 Bremen
>
> https://www.thetaphi.de
>
> eMail: u...@thetaphi.de
>
>
>
> From: Mike Drob 
> Sent: Monday, September 13, 2021 8:00 PM
> To: Solr/Lucene Dev 
> Subject: Java 11/17 Version Matrix
>
>
>
> Hi Devs,
>
>
>
> What are our thoughts on Java 11 and 17 version compatibility going forward 
> for Lucene 9? Will we support both? If so, would Java 11 support likely 
> continue for the entire 9.x release line?
>
>
>
> Is there a JIRA tracking this?
>
>
>
> Thanks,
>
> Mike

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



RE: Java 11/17 Version Matrix

2021-09-13 Thread Uwe Schindler
There are no good reasons to do Java 17 and it is way too early.

 

Reagrding real optimizations, Lucene 17 is unfortunately not containing Project 
Panama or Vector API, so it looks more like Java 18/19 is a good candidate as a 
new minimum at a later stage.

 

I’d release Lucene 9 with Java 11 (which is LTS) and then decide later if we 
update to some post-17 version to get the new vector and panama APIs (vector 
search, SIMD and also MMapDirectory v2). If we do this, we should simply 
release Lucene 10.

 

Uwe

 

-

Uwe Schindler

Achterdiek 19, D-28357 Bremen

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

eMail: u...@thetaphi.de

 

From: Mike Drob  
Sent: Monday, September 13, 2021 8:00 PM
To: Solr/Lucene Dev 
Subject: Java 11/17 Version Matrix

 

Hi Devs,

 

What are our thoughts on Java 11 and 17 version compatibility going forward for 
Lucene 9? Will we support both? If so, would Java 11 support likely continue 
for the entire 9.x release line?

 

Is there a JIRA tracking this?

 

Thanks,

Mike



Java 11/17 Version Matrix

2021-09-13 Thread Mike Drob
Hi Devs,

What are our thoughts on Java 11 and 17 version compatibility going forward
for Lucene 9? Will we support both? If so, would Java 11 support likely
continue for the entire 9.x release line?

Is there a JIRA tracking this?

Thanks,
Mike


Re: Solr 8.x and contribs requiring Java 11

2020-11-02 Thread Adrien Grand
Thanks Ishan, I had misunderstood!

On Sat, Oct 31, 2020 at 2:12 AM Ishan Chattopadhyaya <
ichattopadhy...@gmail.com> wrote:

> Hi Adrien,
> I don't suggest we do so in 8.7, unless there's CVE that need immediate
> addressing. +1 to removing in branch_8x.
> Thanks,
> Ishan
>
> On Fri, 30 Oct, 2020, 11:22 pm Adrien Grand,  wrote:
>
>> Ishan, why would this be a blocker for 8.7? Would it be good enough to
>> remove in branch_8x?
>>
>> Le ven. 30 oct. 2020 à 18:33, Ishan Chattopadhyaya <
>> ichattopadhy...@gmail.com> a écrit :
>>
>>> +1 to removing it (in 8.7 with a respin, if needed). If we can't support
>>> it, there's no need to keep it. If someone wants, they can assume ownership
>>> of a third party package. +1 to removing all non essential code and
>>> trimming down the Solr distribution. There's no good reason for Solr, which
>>> is in effect just a distributed layer on top of Lucene, to be a 200MB
>>> download.
>>>
>>> On Fri, 30 Oct, 2020, 9:50 pm Uwe Schindler,  wrote:
>>>
>>>> I fully agree with Erick,
>>>>
>>>> Please don't start and try to get 8.x on Java 11. Release Lucene/Solr 9!
>>>>
>>>> Uwe
>>>>
>>>> -
>>>> Uwe Schindler
>>>> Achterdiek 19, D-28357 Bremen
>>>> https://www.thetaphi.de
>>>> eMail: u...@thetaphi.de
>>>>
>>>> > -Original Message-
>>>> > From: Erick Erickson 
>>>> > Sent: Friday, October 30, 2020 3:39 PM
>>>> > To: dev@lucene.apache.org
>>>> > Subject: Re: Solr 8.x and contribs requiring Java 11
>>>> >
>>>> > I’m always reluctant to change something like this for a point
>>>> release.
>>>> >
>>>> > I’ve been supposing that we’d release Solr 9 for a while, I always
>>>> thought
>>>> > that moving to Java 11 would be a driver for the 9.0 release but I
>>>> wasn’t
>>>> > correct in that.
>>>> >
>>>> > That expectation has been complicated by the whole reference impl
>>>> thing.
>>>> >
>>>> > What I’d suggest is that we push forward with a 9.0 release and
>>>> consider
>>>> > it something of a placeholder while the reference impl either becomes
>>>> > our main line or doesn’t. Then your problem disappears ;).
>>>> Unfortunately,
>>>> > a new major release always takes some time.
>>>> >
>>>> > FWIW,
>>>> > Erick
>>>> >
>>>> > > On Oct 30, 2020, at 10:30 AM, Dawid Weiss 
>>>> > wrote:
>>>> > >
>>>> > > I've run into this in SOLR-14974. The dependency is on Java 11.
>>>> > > Everything works if you build and run under Java 11 but of course it
>>>> > > won't fly on Java 8 (won't even compile).
>>>> > >
>>>> > > I wonder what are your thoughts on keeping Java 8 as the minimum for
>>>> > > Solr 8x. Is 8.x going to be on Java 8 forever? Or is minimum of Java
>>>> > > 11 a possibility, only nobody got to it yet?
>>>> > >
>>>> > > Dawid
>>>> > >
>>>> > >
>>>> -
>>>> > > To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>>>> > > For additional commands, e-mail: dev-h...@lucene.apache.org
>>>> > >
>>>> >
>>>> >
>>>> > -
>>>> > To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>>>> > For additional commands, e-mail: dev-h...@lucene.apache.org
>>>>
>>>>
>>>> -
>>>> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>>>> For additional commands, e-mail: dev-h...@lucene.apache.org
>>>>
>>>>

-- 
Adrien


Re: Solr 8.x and contribs requiring Java 11

2020-10-31 Thread Dawid Weiss
> If we can't support it, there's no need to keep it. If someone wants, they 
> can assume ownership of a third party package.

I am the author/ owner of that third party package, Ishan... and I've
been working for two weeks to understand how Solr distributed
processing works so that I could write that clustering extension's
distributed version. And I did upgrade everything so that it works
just fine (on master).

Anyway, we initially helped with the clustering contrib but that was a
long time ago and it's been neglected. There are some things that
can't be done easily externally if you remove it but I don't know how
many people will actually miss it if removed. One way to find out
would be to just do it.

Dawid

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



Re: Solr 8.x and contribs requiring Java 11

2020-10-30 Thread Ishan Chattopadhyaya
Hi Adrien,
I don't suggest we do so in 8.7, unless there's CVE that need immediate
addressing. +1 to removing in branch_8x.
Thanks,
Ishan

On Fri, 30 Oct, 2020, 11:22 pm Adrien Grand,  wrote:

> Ishan, why would this be a blocker for 8.7? Would it be good enough to
> remove in branch_8x?
>
> Le ven. 30 oct. 2020 à 18:33, Ishan Chattopadhyaya <
> ichattopadhy...@gmail.com> a écrit :
>
>> +1 to removing it (in 8.7 with a respin, if needed). If we can't support
>> it, there's no need to keep it. If someone wants, they can assume ownership
>> of a third party package. +1 to removing all non essential code and
>> trimming down the Solr distribution. There's no good reason for Solr, which
>> is in effect just a distributed layer on top of Lucene, to be a 200MB
>> download.
>>
>> On Fri, 30 Oct, 2020, 9:50 pm Uwe Schindler,  wrote:
>>
>>> I fully agree with Erick,
>>>
>>> Please don't start and try to get 8.x on Java 11. Release Lucene/Solr 9!
>>>
>>> Uwe
>>>
>>> -
>>> Uwe Schindler
>>> Achterdiek 19, D-28357 Bremen
>>> https://www.thetaphi.de
>>> eMail: u...@thetaphi.de
>>>
>>> > -Original Message-
>>> > From: Erick Erickson 
>>> > Sent: Friday, October 30, 2020 3:39 PM
>>> > To: dev@lucene.apache.org
>>> > Subject: Re: Solr 8.x and contribs requiring Java 11
>>> >
>>> > I’m always reluctant to change something like this for a point release.
>>> >
>>> > I’ve been supposing that we’d release Solr 9 for a while, I always
>>> thought
>>> > that moving to Java 11 would be a driver for the 9.0 release but I
>>> wasn’t
>>> > correct in that.
>>> >
>>> > That expectation has been complicated by the whole reference impl
>>> thing.
>>> >
>>> > What I’d suggest is that we push forward with a 9.0 release and
>>> consider
>>> > it something of a placeholder while the reference impl either becomes
>>> > our main line or doesn’t. Then your problem disappears ;).
>>> Unfortunately,
>>> > a new major release always takes some time.
>>> >
>>> > FWIW,
>>> > Erick
>>> >
>>> > > On Oct 30, 2020, at 10:30 AM, Dawid Weiss 
>>> > wrote:
>>> > >
>>> > > I've run into this in SOLR-14974. The dependency is on Java 11.
>>> > > Everything works if you build and run under Java 11 but of course it
>>> > > won't fly on Java 8 (won't even compile).
>>> > >
>>> > > I wonder what are your thoughts on keeping Java 8 as the minimum for
>>> > > Solr 8x. Is 8.x going to be on Java 8 forever? Or is minimum of Java
>>> > > 11 a possibility, only nobody got to it yet?
>>> > >
>>> > > Dawid
>>> > >
>>> > > -
>>> > > To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>>> > > For additional commands, e-mail: dev-h...@lucene.apache.org
>>> > >
>>> >
>>> >
>>> > -
>>> > To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>>> > For additional commands, e-mail: dev-h...@lucene.apache.org
>>>
>>>
>>> -
>>> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>>> For additional commands, e-mail: dev-h...@lucene.apache.org
>>>
>>>


Re: Solr 8.x and contribs requiring Java 11

2020-10-30 Thread Adrien Grand
Ishan, why would this be a blocker for 8.7? Would it be good enough to
remove in branch_8x?

Le ven. 30 oct. 2020 à 18:33, Ishan Chattopadhyaya <
ichattopadhy...@gmail.com> a écrit :

> +1 to removing it (in 8.7 with a respin, if needed). If we can't support
> it, there's no need to keep it. If someone wants, they can assume ownership
> of a third party package. +1 to removing all non essential code and
> trimming down the Solr distribution. There's no good reason for Solr, which
> is in effect just a distributed layer on top of Lucene, to be a 200MB
> download.
>
> On Fri, 30 Oct, 2020, 9:50 pm Uwe Schindler,  wrote:
>
>> I fully agree with Erick,
>>
>> Please don't start and try to get 8.x on Java 11. Release Lucene/Solr 9!
>>
>> Uwe
>>
>> -
>> Uwe Schindler
>> Achterdiek 19, D-28357 Bremen
>> https://www.thetaphi.de
>> eMail: u...@thetaphi.de
>>
>> > -Original Message-
>> > From: Erick Erickson 
>> > Sent: Friday, October 30, 2020 3:39 PM
>> > To: dev@lucene.apache.org
>> > Subject: Re: Solr 8.x and contribs requiring Java 11
>> >
>> > I’m always reluctant to change something like this for a point release.
>> >
>> > I’ve been supposing that we’d release Solr 9 for a while, I always
>> thought
>> > that moving to Java 11 would be a driver for the 9.0 release but I
>> wasn’t
>> > correct in that.
>> >
>> > That expectation has been complicated by the whole reference impl thing.
>> >
>> > What I’d suggest is that we push forward with a 9.0 release and consider
>> > it something of a placeholder while the reference impl either becomes
>> > our main line or doesn’t. Then your problem disappears ;).
>> Unfortunately,
>> > a new major release always takes some time.
>> >
>> > FWIW,
>> > Erick
>> >
>> > > On Oct 30, 2020, at 10:30 AM, Dawid Weiss 
>> > wrote:
>> > >
>> > > I've run into this in SOLR-14974. The dependency is on Java 11.
>> > > Everything works if you build and run under Java 11 but of course it
>> > > won't fly on Java 8 (won't even compile).
>> > >
>> > > I wonder what are your thoughts on keeping Java 8 as the minimum for
>> > > Solr 8x. Is 8.x going to be on Java 8 forever? Or is minimum of Java
>> > > 11 a possibility, only nobody got to it yet?
>> > >
>> > > Dawid
>> > >
>> > > -
>> > > To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>> > > For additional commands, e-mail: dev-h...@lucene.apache.org
>> > >
>> >
>> >
>> > -
>> > To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>> > For additional commands, e-mail: dev-h...@lucene.apache.org
>>
>>
>> -
>> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>> For additional commands, e-mail: dev-h...@lucene.apache.org
>>
>>


Re: Solr 8.x and contribs requiring Java 11

2020-10-30 Thread Ishan Chattopadhyaya
+1 to removing it (in 8.7 with a respin, if needed). If we can't support
it, there's no need to keep it. If someone wants, they can assume ownership
of a third party package. +1 to removing all non essential code and
trimming down the Solr distribution. There's no good reason for Solr, which
is in effect just a distributed layer on top of Lucene, to be a 200MB
download.

On Fri, 30 Oct, 2020, 9:50 pm Uwe Schindler,  wrote:

> I fully agree with Erick,
>
> Please don't start and try to get 8.x on Java 11. Release Lucene/Solr 9!
>
> Uwe
>
> -
> Uwe Schindler
> Achterdiek 19, D-28357 Bremen
> https://www.thetaphi.de
> eMail: u...@thetaphi.de
>
> > -Original Message-
> > From: Erick Erickson 
> > Sent: Friday, October 30, 2020 3:39 PM
> > To: dev@lucene.apache.org
> > Subject: Re: Solr 8.x and contribs requiring Java 11
> >
> > I’m always reluctant to change something like this for a point release.
> >
> > I’ve been supposing that we’d release Solr 9 for a while, I always
> thought
> > that moving to Java 11 would be a driver for the 9.0 release but I wasn’t
> > correct in that.
> >
> > That expectation has been complicated by the whole reference impl thing.
> >
> > What I’d suggest is that we push forward with a 9.0 release and consider
> > it something of a placeholder while the reference impl either becomes
> > our main line or doesn’t. Then your problem disappears ;). Unfortunately,
> > a new major release always takes some time.
> >
> > FWIW,
> > Erick
> >
> > > On Oct 30, 2020, at 10:30 AM, Dawid Weiss 
> > wrote:
> > >
> > > I've run into this in SOLR-14974. The dependency is on Java 11.
> > > Everything works if you build and run under Java 11 but of course it
> > > won't fly on Java 8 (won't even compile).
> > >
> > > I wonder what are your thoughts on keeping Java 8 as the minimum for
> > > Solr 8x. Is 8.x going to be on Java 8 forever? Or is minimum of Java
> > > 11 a possibility, only nobody got to it yet?
> > >
> > > Dawid
> > >
> > > -
> > > To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> > > For additional commands, e-mail: dev-h...@lucene.apache.org
> > >
> >
> >
> > -
> > To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> > For additional commands, e-mail: dev-h...@lucene.apache.org
>
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org
>
>


RE: Solr 8.x and contribs requiring Java 11

2020-10-30 Thread Uwe Schindler
I fully agree with Erick,

Please don't start and try to get 8.x on Java 11. Release Lucene/Solr 9!

Uwe

-
Uwe Schindler
Achterdiek 19, D-28357 Bremen
https://www.thetaphi.de
eMail: u...@thetaphi.de

> -Original Message-
> From: Erick Erickson 
> Sent: Friday, October 30, 2020 3:39 PM
> To: dev@lucene.apache.org
> Subject: Re: Solr 8.x and contribs requiring Java 11
> 
> I’m always reluctant to change something like this for a point release.
> 
> I’ve been supposing that we’d release Solr 9 for a while, I always thought
> that moving to Java 11 would be a driver for the 9.0 release but I wasn’t
> correct in that.
> 
> That expectation has been complicated by the whole reference impl thing.
> 
> What I’d suggest is that we push forward with a 9.0 release and consider
> it something of a placeholder while the reference impl either becomes
> our main line or doesn’t. Then your problem disappears ;). Unfortunately,
> a new major release always takes some time.
> 
> FWIW,
> Erick
> 
> > On Oct 30, 2020, at 10:30 AM, Dawid Weiss 
> wrote:
> >
> > I've run into this in SOLR-14974. The dependency is on Java 11.
> > Everything works if you build and run under Java 11 but of course it
> > won't fly on Java 8 (won't even compile).
> >
> > I wonder what are your thoughts on keeping Java 8 as the minimum for
> > Solr 8x. Is 8.x going to be on Java 8 forever? Or is minimum of Java
> > 11 a possibility, only nobody got to it yet?
> >
> > Dawid
> >
> > -
> > To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> > For additional commands, e-mail: dev-h...@lucene.apache.org
> >
> 
> 
> -
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org


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



Re: Solr 8.x and contribs requiring Java 11

2020-10-30 Thread David Smiley
> The only option I see at the moment is to remove the clustering contrib
entirely from 8x because it can't be upgraded.

That makes sense to me.  Maybe it shouldn't be a contrib henceforth?  In
other words, maybe it should be a 3rd-party package?  Then our users could
get updates to this contrib independently of the Lucene/Solr release
cycle.  It's one of the benefits of breaking up the Solr monolith.

In a separate thread in this dev list, pertaining to the DIH, Gézapeti Cseh
suggested that Solr might introduce something similar to "Apache Commons",
but for Solr contribs.  I think that's worth more investigation.  It's
obviously highly relevant to this thread.

~ David Smiley
Apache Lucene/Solr Search Developer
http://www.linkedin.com/in/davidwsmiley


On Fri, Oct 30, 2020 at 10:52 AM Dawid Weiss  wrote:

> Yeah, right. Until 9x is not really satisfying - the problem is more
> complex because people bring up CVEs for the clustering contrib that
> is currently in 8x and, for better or worse, it affects this line for
> the foreseeable future. I don't plan to invest time to make Java 8
> compatible backports of the clustering engine so I'm wondering what to
> do with it now. The only option I see at the moment is to remove the
> clustering contrib entirely from 8x because it can't be upgraded.
> -
>
> Dawid
>
> On Fri, Oct 30, 2020 at 3:40 PM David Smiley  wrote:
> >
> > SOLR-14974 is about a contrib, the clustering contrib in particular.
> That contrib is a plugin, and it will eventually be "packaged" --
> https://issues.apache.org/jira/browse/SOLR-14688 which will ultimately
> mean that someone running on Solr 8 that is also using Java 11 can install
> that package when it's eventually released (when 9.0 is released, or
> thereafter).  So I don't think we should change Solr core / SolrJ 's
> minimum Java requirements just because of the needs of a contrib.  I think
> that's solved by the package system.
> >
> > ~ David Smiley
> > Apache Lucene/Solr Search Developer
> > http://www.linkedin.com/in/davidwsmiley
> >
> >
> > On Fri, Oct 30, 2020 at 10:31 AM Dawid Weiss 
> wrote:
> >>
> >> I've run into this in SOLR-14974. The dependency is on Java 11.
> >> Everything works if you build and run under Java 11 but of course it
> >> won't fly on Java 8 (won't even compile).
> >>
> >> I wonder what are your thoughts on keeping Java 8 as the minimum for
> >> Solr 8x. Is 8.x going to be on Java 8 forever? Or is minimum of Java
> >> 11 a possibility, only nobody got to it yet?
> >>
> >> Dawid
> >>
> >> -
> >> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> >> For additional commands, e-mail: dev-h...@lucene.apache.org
> >>
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org
>
>


Re: Solr 8.x and contribs requiring Java 11

2020-10-30 Thread Dawid Weiss
Yeah, right. Until 9x is not really satisfying - the problem is more
complex because people bring up CVEs for the clustering contrib that
is currently in 8x and, for better or worse, it affects this line for
the foreseeable future. I don't plan to invest time to make Java 8
compatible backports of the clustering engine so I'm wondering what to
do with it now. The only option I see at the moment is to remove the
clustering contrib entirely from 8x because it can't be upgraded.
-

Dawid

On Fri, Oct 30, 2020 at 3:40 PM David Smiley  wrote:
>
> SOLR-14974 is about a contrib, the clustering contrib in particular.  That 
> contrib is a plugin, and it will eventually be "packaged" -- 
> https://issues.apache.org/jira/browse/SOLR-14688 which will ultimately mean 
> that someone running on Solr 8 that is also using Java 11 can install that 
> package when it's eventually released (when 9.0 is released, or thereafter).  
> So I don't think we should change Solr core / SolrJ 's minimum Java 
> requirements just because of the needs of a contrib.  I think that's solved 
> by the package system.
>
> ~ David Smiley
> Apache Lucene/Solr Search Developer
> http://www.linkedin.com/in/davidwsmiley
>
>
> On Fri, Oct 30, 2020 at 10:31 AM Dawid Weiss  wrote:
>>
>> I've run into this in SOLR-14974. The dependency is on Java 11.
>> Everything works if you build and run under Java 11 but of course it
>> won't fly on Java 8 (won't even compile).
>>
>> I wonder what are your thoughts on keeping Java 8 as the minimum for
>> Solr 8x. Is 8.x going to be on Java 8 forever? Or is minimum of Java
>> 11 a possibility, only nobody got to it yet?
>>
>> Dawid
>>
>> -
>> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>> For additional commands, e-mail: dev-h...@lucene.apache.org
>>

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



Re: Solr 8.x and contribs requiring Java 11

2020-10-30 Thread Erick Erickson
I’m always reluctant to change something like this for a point release.

I’ve been supposing that we’d release Solr 9 for a while, I always thought
that moving to Java 11 would be a driver for the 9.0 release but I wasn’t
correct in that.

That expectation has been complicated by the whole reference impl thing.

What I’d suggest is that we push forward with a 9.0 release and consider
it something of a placeholder while the reference impl either becomes
our main line or doesn’t. Then your problem disappears ;). Unfortunately,
a new major release always takes some time.

FWIW,
Erick

> On Oct 30, 2020, at 10:30 AM, Dawid Weiss  wrote:
> 
> I've run into this in SOLR-14974. The dependency is on Java 11.
> Everything works if you build and run under Java 11 but of course it
> won't fly on Java 8 (won't even compile).
> 
> I wonder what are your thoughts on keeping Java 8 as the minimum for
> Solr 8x. Is 8.x going to be on Java 8 forever? Or is minimum of Java
> 11 a possibility, only nobody got to it yet?
> 
> Dawid
> 
> -
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org
> 


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



Re: Solr 8.x and contribs requiring Java 11

2020-10-30 Thread David Smiley
SOLR-14974 is about a contrib, the clustering contrib in particular.  That
contrib is a plugin, and it will eventually be "packaged" --
https://issues.apache.org/jira/browse/SOLR-14688 which will ultimately mean
that someone running on Solr 8 that is also using Java 11 can install that
package when it's eventually released (when 9.0 is released, or
thereafter).  So I don't think we should change Solr core / SolrJ 's
minimum Java requirements just because of the needs of a contrib.  I think
that's solved by the package system.

~ David Smiley
Apache Lucene/Solr Search Developer
http://www.linkedin.com/in/davidwsmiley


On Fri, Oct 30, 2020 at 10:31 AM Dawid Weiss  wrote:

> I've run into this in SOLR-14974. The dependency is on Java 11.
> Everything works if you build and run under Java 11 but of course it
> won't fly on Java 8 (won't even compile).
>
> I wonder what are your thoughts on keeping Java 8 as the minimum for
> Solr 8x. Is 8.x going to be on Java 8 forever? Or is minimum of Java
> 11 a possibility, only nobody got to it yet?
>
> Dawid
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org
>
>


Solr 8.x and contribs requiring Java 11

2020-10-30 Thread Dawid Weiss
I've run into this in SOLR-14974. The dependency is on Java 11.
Everything works if you build and run under Java 11 but of course it
won't fly on Java 8 (won't even compile).

I wonder what are your thoughts on keeping Java 8 as the minimum for
Solr 8x. Is 8.x going to be on Java 8 forever? Or is minimum of Java
11 a possibility, only nobody got to it yet?

Dawid

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



RE: [lucene-solr] branch master updated: master is on java 11!

2020-08-31 Thread Uwe Schindler
Hi Robert,

please revert this and open an issue. There was a discussion about this and 
commits like this should not be done without negotiation.

Uwe

-
Uwe Schindler
Achterdiek 19, D-28357 Bremen
https://www.thetaphi.de
eMail: u...@thetaphi.de

> -Original Message-
> From: rm...@apache.org 
> Sent: Monday, August 31, 2020 10:52 AM
> To: comm...@lucene.apache.org
> Subject: [lucene-solr] branch master updated: master is on java 11!
> 
> This is an automated email from the ASF dual-hosted git repository.
> 
> rmuir pushed a commit to branch master
> in repository https://gitbox.apache.org/repos/asf/lucene-solr.git
> 
> 
> The following commit(s) were added to refs/heads/master by this push:
>  new 4129daa  master is on java 11!
> 4129daa is described below
> 
> commit 4129daa6dd23f7f741cd38e6fcf2d4920d681ef6
> Author: Robert Muir 
> AuthorDate: Mon Aug 31 04:53:44 2020 -0400
> 
> master is on java 11!
> ---
>  .../validate-source-patterns/check-source-patterns.groovy| 12 
> 
>  1 file changed, 12 deletions(-)
> 
> diff --git a/gradle/validation/validate-source-patterns/check-source-
> patterns.groovy b/gradle/validation/validate-source-patterns/check-source-
> patterns.groovy
> index 774023d..aabcd27 100644
> --- a/gradle/validation/validate-source-patterns/check-source-patterns.groovy
> +++ b/gradle/validation/validate-source-patterns/check-source-patterns.groovy
> @@ -49,13 +49,6 @@ def invalidPatterns = [
>(~$/import java\.lang\.\w+;/$) : 'java.lang import is unnecessary'
>  ]
> 
> -// Python and others merrily use var declarations, this is a problem _only_ 
> in
> Java at least for 8x where we're forbidding var declarations
> -def invalidJavaOnlyPatterns = [
> -  (~$/\n\s*var\s+.*=.*<>.*/$) : 'Diamond operators should not be used with
> var',
> -  (~$/\n\s*var\s+/$) : 'var is not allowed in until we stop development on 
> the
> 8x code line'
> -]
> -
> -
>  def baseDir = properties['basedir'];
>  def baseDirLen = baseDir.length() + 1;
> 
> @@ -209,11 +202,6 @@ ant.fileScanner{
>  reportViolation(f, "Solr test cases should extend SolrTestCase 
> rather than
> LuceneTestCase");
>}
>  }
> -invalidJavaOnlyPatterns.each { pattern,name ->
> -  if (pattern.matcher(text).find()) {
> -reportViolation(f, name);
> -  }
> -}
>}
>if (f.name.endsWith('.xml') || f.name.endsWith('.xml.template')) {
>  checkLicenseHeaderPrecedes(f, '', xmlTagPattern,
> xmlCommentPattern, text, ratDocument);


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



RE: Performance in Solr 9 / Java 11

2020-08-30 Thread Uwe Schindler
Hi,

 

Yes, mr-jar build were always done in Lucene 8x (on Lucene’s part of the 
build). You might think: “How can that be as I am – as release manager – used 
JDK8 to build, and I am forced to do so?”

 

This is a trick that works for some types of JDK9+ improvements, which rely on 
some simple “replacement” operations for static method that are highly optiized 
in later JDK versions using an compiler intrinsic. The trick is the following: 
We have (possibly slower) replacement implementations in Lucene’s codebase for 
the new method (see classes oal.utils.FutureArrays and FutureObjects) with 
identical static signature (this is why it only works for that case). After 
compilation of the code an additional Ant task is running that uses ASM to 
patch the produced JAR files of the Java 8 compiler to replace the usage of the 
FutureXxxx classes in the code:  
<https://github.com/apache/lucene-solr/blob/branch_8x/lucene/tools/src/groovy/patch-mrjar-classes.groovy>
 
https://github.com/apache/lucene-solr/blob/branch_8x/lucene/tools/src/groovy/patch-mrjar-classes.groovy
 The patched classes are written to build/java9 and jarred into jar file below 
META-INF/versions/9

 

In master this was removed. If we have a similar thing in later JDK versions 
(static methods which got highly optimized versions with intrinsics in later 
Java versions), we can do the same, the above script just needs to be included 
into the Gradle build. But I have not figured out anything like this.

 

The classical “MR-builds” are much more complex to setup, as it requires every 
developer to have the later version already installed and we need to do 
parallel compilation of different source trees which also has the risk of 
producing broken code that won’t work at runtime. So the “just replace method 
calls in Java 8 classes” is very convenient & safe, but limited. Very often 
it’s better for more complex cases, to add a factory pattern to your source 
code that uses a completely different implementation at runtime (like 
FSDirectory.open()). One example that might come later is a replacement for 
MMapDirectory. I am working on this, but it’s not yet useable (see my short 
talk at barcamp @ berlinbuzzwords this year). Here, we would have a separate 
impl of MMapDirectory like MemorySegmentDirectory that’s choosen at runtime 
depending on Java version. We would have a separate gradle module to implement 
that, which requires a later compiler. The reason for that approach is: The 
code is so different, that a classical MR JAR would complicate a lot. It’s 
better to declare this as a separate “implementation class”, so users get 
better stack traces on error as they actually see what implementation is used.

 

In short: The release manager in 8.x does not need to care, it’s fully 
automatic and requires no later version of Java during build.

 

Uwe

 

-

Uwe Schindler

Achterdiek 19, D-28357 Bremen

https://www.thetaphi.de

eMail: u...@thetaphi.de

 

From: Adrien Grand  
Sent: Sunday, August 30, 2020 9:00 AM
To: Lucene Dev 
Subject: Re: Performance in Solr 9 / Java 11

 

Tomoko is correct, an MR JAR is created not only upon release but also every 
time you create a lucene-core JAR on branch_8x.

 

On Sun, Aug 30, 2020 at 5:49 AM Tomoko Uchida mailto:tomoko.uchida.1...@gmail.com> > wrote:

I believe mr-jar build is enabled in the 8x branch (LUCENE-7966), and the 
workaround was dropped on the master branch when the minimum java version was 
bumped up to java 11 (LUCENE-8738); if my understanding is correct.


 

$ jar tf core/lucene-core-8.6.1.jar | grep META-INF/versions
META-INF/versions/
META-INF/versions/9/
META-INF/versions/9/org/
META-INF/versions/9/org/apache/

...

 

$ jar tf core/build/libs/lucene-core-9.0.0-SNAPSHOT.jar | grep META-INF/versions

// no outputs

 

 

 

 

2020年8月30日(日) 6:48 Mike Drob mailto:md...@apache.org> >:

Do you know if these mr-jars are built by default as part of the release 
process? I definitely had no idea about them when doing 8.5.2 and did not even 
think to verify anything about it. 

 

On Sat, Aug 29, 2020 at 4:05 PM Adrien Grand mailto:jpou...@gmail.com> > wrote:

It may only be indirectly related to your question, but there is support for 
vectorized operations of byte[] arrays that was added in JDK 13 (this blog 
https://richardstartin.github.io/posts/vectorised-byte-operations explains well 
what it is about) that we started leveraging for compressing terms dictionaries 
in Lucene 8.5: https://issues.apache.org/jira/browse/LUCENE-4702.

 

I don't know how well this is known but our build also has logic to create 
multi-release JARs. We don't use it in master today but it's used on branch_8x, 
which requires Java 8, in order to use APIs that were introduced in Java 9 such 
as Arrays#mismatch. See the "patch-mr-jar" target in the branch_8x build: 
https://github.com/apache/lucene-solr/blob/branch_8x/lucene/common-build.xml#L602.
 So if

Re: Performance in Solr 9 / Java 11

2020-08-30 Thread Adrien Grand
Tomoko is correct, an MR JAR is created not only upon release but also
every time you create a lucene-core JAR on branch_8x.

On Sun, Aug 30, 2020 at 5:49 AM Tomoko Uchida 
wrote:

> I believe mr-jar build is enabled in the 8x branch (LUCENE-7966), and the
> workaround was dropped on the master branch when the minimum java version
> was bumped up to java 11 (LUCENE-8738); if my understanding is correct.
>
> $ jar tf core/lucene-core-8.6.1.jar | grep META-INF/versions
> META-INF/versions/
> META-INF/versions/9/
> META-INF/versions/9/org/
> META-INF/versions/9/org/apache/
> ...
>
> $ jar tf core/build/libs/lucene-core-9.0.0-SNAPSHOT.jar | grep
> META-INF/versions
> // no outputs
>
>
>
>
> 2020年8月30日(日) 6:48 Mike Drob :
>
>> Do you know if these mr-jars are built by default as part of the release
>> process? I definitely had no idea about them when doing 8.5.2 and did not
>> even think to verify anything about it.
>>
>> On Sat, Aug 29, 2020 at 4:05 PM Adrien Grand  wrote:
>>
>>> It may only be indirectly related to your question, but there is support
>>> for vectorized operations of byte[] arrays that was added in JDK 13 (this
>>> blog https://richardstartin.github.io/posts/vectorised-byte-operations 
>>> explains
>>> well what it is about) that we started leveraging for compressing terms
>>> dictionaries in Lucene 8.5:
>>> https://issues.apache.org/jira/browse/LUCENE-4702.
>>>
>>> I don't know how well this is known but our build also has logic to
>>> create multi-release JARs. We don't use it in master today but it's used on
>>> branch_8x, which requires Java 8, in order to use APIs that were introduced
>>> in Java 9 such as Arrays#mismatch. See the "patch-mr-jar" target in the
>>> branch_8x build:
>>> https://github.com/apache/lucene-solr/blob/branch_8x/lucene/common-build.xml#L602.
>>> So if APIs that could help performance were introduced in say JDK 15, we
>>> might still be able to leverage them in Lucene/Solr 9 using the same
>>> mechanism.
>>>
>>>
>>>
>>> On Tue, Aug 11, 2020 at 1:12 AM Marcus Eagan 
>>> wrote:
>>>
>>>> In my IDE, I have a few profiling tools that I bounce between that I
>>>> started using in my work at Lucidworks but I continue to use in my current
>>>> work today. I have suspicions that there may be some performance
>>>> improvements in Java 11 that we can exploit further.  I'm curious as to if
>>>> there has been any investigation, possibly Mark Miller or
>>>> @u...@thetaphi.de ,  into performance improvements
>>>> specific to the newer version of Java in Master? There are some obvious
>>>> ones that we get for free, like a better GC, but curious as to prior work
>>>> in this area before publishing anything that might be redundant or
>>>> irrelevant.
>>>>
>>>> Best,
>>>>
>>>> --
>>>> Marcus Eagan
>>>>
>>>>
>>>>
>>>>
>>>
>>> --
>>> Adrien
>>>
>>>
>>>

-- 
Adrien


Re: Performance in Solr 9 / Java 11

2020-08-29 Thread Tomoko Uchida
I believe mr-jar build is enabled in the 8x branch (LUCENE-7966), and the
workaround was dropped on the master branch when the minimum java version
was bumped up to java 11 (LUCENE-8738); if my understanding is correct.

$ jar tf core/lucene-core-8.6.1.jar | grep META-INF/versions
META-INF/versions/
META-INF/versions/9/
META-INF/versions/9/org/
META-INF/versions/9/org/apache/
...

$ jar tf core/build/libs/lucene-core-9.0.0-SNAPSHOT.jar | grep
META-INF/versions
// no outputs




2020年8月30日(日) 6:48 Mike Drob :

> Do you know if these mr-jars are built by default as part of the release
> process? I definitely had no idea about them when doing 8.5.2 and did not
> even think to verify anything about it.
>
> On Sat, Aug 29, 2020 at 4:05 PM Adrien Grand  wrote:
>
>> It may only be indirectly related to your question, but there is support
>> for vectorized operations of byte[] arrays that was added in JDK 13 (this
>> blog https://richardstartin.github.io/posts/vectorised-byte-operations 
>> explains
>> well what it is about) that we started leveraging for compressing terms
>> dictionaries in Lucene 8.5:
>> https://issues.apache.org/jira/browse/LUCENE-4702.
>>
>> I don't know how well this is known but our build also has logic to
>> create multi-release JARs. We don't use it in master today but it's used on
>> branch_8x, which requires Java 8, in order to use APIs that were introduced
>> in Java 9 such as Arrays#mismatch. See the "patch-mr-jar" target in the
>> branch_8x build:
>> https://github.com/apache/lucene-solr/blob/branch_8x/lucene/common-build.xml#L602.
>> So if APIs that could help performance were introduced in say JDK 15, we
>> might still be able to leverage them in Lucene/Solr 9 using the same
>> mechanism.
>>
>>
>>
>> On Tue, Aug 11, 2020 at 1:12 AM Marcus Eagan 
>> wrote:
>>
>>> In my IDE, I have a few profiling tools that I bounce between that I
>>> started using in my work at Lucidworks but I continue to use in my current
>>> work today. I have suspicions that there may be some performance
>>> improvements in Java 11 that we can exploit further.  I'm curious as to if
>>> there has been any investigation, possibly Mark Miller or
>>> @u...@thetaphi.de ,  into performance improvements
>>> specific to the newer version of Java in Master? There are some obvious
>>> ones that we get for free, like a better GC, but curious as to prior work
>>> in this area before publishing anything that might be redundant or
>>> irrelevant.
>>>
>>> Best,
>>>
>>> --
>>> Marcus Eagan
>>>
>>>
>>>
>>>
>>
>> --
>> Adrien
>>
>>
>>


Re: Performance in Solr 9 / Java 11

2020-08-29 Thread Mike Drob
Do you know if these mr-jars are built by default as part of the release
process? I definitely had no idea about them when doing 8.5.2 and did not
even think to verify anything about it.

On Sat, Aug 29, 2020 at 4:05 PM Adrien Grand  wrote:

> It may only be indirectly related to your question, but there is support
> for vectorized operations of byte[] arrays that was added in JDK 13 (this
> blog https://richardstartin.github.io/posts/vectorised-byte-operations 
> explains
> well what it is about) that we started leveraging for compressing terms
> dictionaries in Lucene 8.5:
> https://issues.apache.org/jira/browse/LUCENE-4702.
>
> I don't know how well this is known but our build also has logic to create
> multi-release JARs. We don't use it in master today but it's used on
> branch_8x, which requires Java 8, in order to use APIs that were introduced
> in Java 9 such as Arrays#mismatch. See the "patch-mr-jar" target in the
> branch_8x build:
> https://github.com/apache/lucene-solr/blob/branch_8x/lucene/common-build.xml#L602.
> So if APIs that could help performance were introduced in say JDK 15, we
> might still be able to leverage them in Lucene/Solr 9 using the same
> mechanism.
>
>
>
> On Tue, Aug 11, 2020 at 1:12 AM Marcus Eagan 
> wrote:
>
>> In my IDE, I have a few profiling tools that I bounce between that I
>> started using in my work at Lucidworks but I continue to use in my current
>> work today. I have suspicions that there may be some performance
>> improvements in Java 11 that we can exploit further.  I'm curious as to if
>> there has been any investigation, possibly Mark Miller or
>> @u...@thetaphi.de ,  into performance improvements
>> specific to the newer version of Java in Master? There are some obvious
>> ones that we get for free, like a better GC, but curious as to prior work
>> in this area before publishing anything that might be redundant or
>> irrelevant.
>>
>> Best,
>>
>> --
>> Marcus Eagan
>>
>>
>>
>>
>
> --
> Adrien
>
>
>


Re: Performance in Solr 9 / Java 11

2020-08-29 Thread Adrien Grand
It may only be indirectly related to your question, but there is support
for vectorized operations of byte[] arrays that was added in JDK 13 (this
blog https://richardstartin.github.io/posts/vectorised-byte-operations explains
well what it is about) that we started leveraging for compressing terms
dictionaries in Lucene 8.5:
https://issues.apache.org/jira/browse/LUCENE-4702.

I don't know how well this is known but our build also has logic to create
multi-release JARs. We don't use it in master today but it's used on
branch_8x, which requires Java 8, in order to use APIs that were introduced
in Java 9 such as Arrays#mismatch. See the "patch-mr-jar" target in the
branch_8x build:
https://github.com/apache/lucene-solr/blob/branch_8x/lucene/common-build.xml#L602.
So if APIs that could help performance were introduced in say JDK 15, we
might still be able to leverage them in Lucene/Solr 9 using the same
mechanism.



On Tue, Aug 11, 2020 at 1:12 AM Marcus Eagan  wrote:

> In my IDE, I have a few profiling tools that I bounce between that I
> started using in my work at Lucidworks but I continue to use in my current
> work today. I have suspicions that there may be some performance
> improvements in Java 11 that we can exploit further.  I'm curious as to if
> there has been any investigation, possibly Mark Miller or @u...@thetaphi.de
> ,  into performance improvements specific to the newer
> version of Java in Master? There are some obvious ones that we get for
> free, like a better GC, but curious as to prior work in this area before
> publishing anything that might be redundant or irrelevant.
>
> Best,
>
> --
> Marcus Eagan
>
>

-- 
Adrien


Performance in Solr 9 / Java 11

2020-08-10 Thread Marcus Eagan
In my IDE, I have a few profiling tools that I bounce between that I
started using in my work at Lucidworks but I continue to use in my current
work today. I have suspicions that there may be some performance
improvements in Java 11 that we can exploit further.  I'm curious as to if
there has been any investigation, possibly Mark Miller or @u...@thetaphi.de
,  into performance improvements specific to the newer
version of Java in Master? There are some obvious ones that we get for
free, like a better GC, but curious as to prior work in this area before
publishing anything that might be redundant or irrelevant.

Best,

-- 
Marcus Eagan


[jira] [Closed] (SOLR-13631) Java 11 date parsing causing NPEs

2019-07-14 Thread David Smiley (JIRA)


 [ 
https://issues.apache.org/jira/browse/SOLR-13631?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

David Smiley closed SOLR-13631.
---

> Java 11 date parsing causing NPEs
> -
>
> Key: SOLR-13631
> URL: https://issues.apache.org/jira/browse/SOLR-13631
> Project: Solr
>  Issue Type: Improvement
>  Security Level: Public(Default Security Level. Issues are Public) 
>Reporter: Ishan Chattopadhyaya
>Assignee: Ishan Chattopadhyaya
>Priority: Major
>
> Across all my machines with Fedora 30, I encounter 20+ test failures on 
> master with the following NPEs. Same when starting Solr (it doesn't start up).
> {code}
>[junit4]   2> Caused by: java.time.format.DateTimeParseException: Text 
> '2019-07-14T07:09:13.341Z' could not be parsed: null
>[junit4]   2>  at 
> java.base/java.time.format.DateTimeFormatter.createError(DateTimeFormatter.java:2017)
>[junit4]   2>  at 
> java.base/java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1920)
>[junit4]   2>  at 
> org.apache.solr.update.processor.ParseDateFieldUpdateProcessorFactory.parseInstant(ParseDateFieldUpdateProcessorFactory.java:230)
>[junit4]   2>  at 
> org.apache.solr.update.processor.ParseDateFieldUpdateProcessorFactory.validateFormatter(ParseDateFieldUpdateProcessorFactory.java:214)
>[junit4]   2>  ... 44 more
> {code}
> Here are my environment details:
> OS: Fedora 30
> Java version:
> {code}
> [ishan@chromebox core] $ java -version
> openjdk version "11.0.3" 2019-04-16
> OpenJDK Runtime Environment 18.9 (build 11.0.3+7)
> OpenJDK 64-Bit Server VM 18.9 (build 11.0.3+7, mixed mode, sharing)
> {code}
> Kernel: 5.1.16-300.fc30.x86_64
> JDK was installed via "sudo dnf install java-11-openjdk-devel".



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

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



[jira] [Resolved] (SOLR-13631) Java 11 date parsing causing NPEs

2019-07-14 Thread David Smiley (JIRA)


 [ 
https://issues.apache.org/jira/browse/SOLR-13631?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

David Smiley resolved SOLR-13631.
-
Resolution: Duplicate

I dug into this; see my first comment on : SOLR-13606

> Java 11 date parsing causing NPEs
> -
>
> Key: SOLR-13631
> URL: https://issues.apache.org/jira/browse/SOLR-13631
> Project: Solr
>  Issue Type: Improvement
>  Security Level: Public(Default Security Level. Issues are Public) 
>Reporter: Ishan Chattopadhyaya
>Assignee: Ishan Chattopadhyaya
>Priority: Major
>
> Across all my machines with Fedora 30, I encounter 20+ test failures on 
> master with the following NPEs. Same when starting Solr (it doesn't start up).
> {code}
>[junit4]   2> Caused by: java.time.format.DateTimeParseException: Text 
> '2019-07-14T07:09:13.341Z' could not be parsed: null
>[junit4]   2>  at 
> java.base/java.time.format.DateTimeFormatter.createError(DateTimeFormatter.java:2017)
>[junit4]   2>  at 
> java.base/java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1920)
>[junit4]   2>  at 
> org.apache.solr.update.processor.ParseDateFieldUpdateProcessorFactory.parseInstant(ParseDateFieldUpdateProcessorFactory.java:230)
>[junit4]   2>  at 
> org.apache.solr.update.processor.ParseDateFieldUpdateProcessorFactory.validateFormatter(ParseDateFieldUpdateProcessorFactory.java:214)
>[junit4]   2>  ... 44 more
> {code}
> Here are my environment details:
> OS: Fedora 30
> Java version:
> {code}
> [ishan@chromebox core] $ java -version
> openjdk version "11.0.3" 2019-04-16
> OpenJDK Runtime Environment 18.9 (build 11.0.3+7)
> OpenJDK 64-Bit Server VM 18.9 (build 11.0.3+7, mixed mode, sharing)
> {code}
> Kernel: 5.1.16-300.fc30.x86_64
> JDK was installed via "sudo dnf install java-11-openjdk-devel".



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

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



[jira] [Commented] (SOLR-13631) Java 11 date parsing causing NPEs

2019-07-14 Thread Uwe Schindler (JIRA)


[ 
https://issues.apache.org/jira/browse/SOLR-13631?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16884627#comment-16884627
 ] 

Uwe Schindler commented on SOLR-13631:
--

This is for sure be caused by the fact that some Linux distributions using a 
different type of timezone data file shared with other packages. That's a 
antipattern but still done by some of them. I think Ubuntu gave up on this. 
You'd open an issue at the distribution, showing this with a simple test case. 
This is not a problem if Lucene.

> Java 11 date parsing causing NPEs
> -
>
> Key: SOLR-13631
> URL: https://issues.apache.org/jira/browse/SOLR-13631
> Project: Solr
>  Issue Type: Improvement
>  Security Level: Public(Default Security Level. Issues are Public) 
>Reporter: Ishan Chattopadhyaya
>Assignee: Ishan Chattopadhyaya
>Priority: Major
>
> Across all my machines with Fedora 30, I encounter 20+ test failures on 
> master with the following NPEs. Same when starting Solr (it doesn't start up).
> {code}
>[junit4]   2> Caused by: java.time.format.DateTimeParseException: Text 
> '2019-07-14T07:09:13.341Z' could not be parsed: null
>[junit4]   2>  at 
> java.base/java.time.format.DateTimeFormatter.createError(DateTimeFormatter.java:2017)
>[junit4]   2>  at 
> java.base/java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1920)
>[junit4]   2>  at 
> org.apache.solr.update.processor.ParseDateFieldUpdateProcessorFactory.parseInstant(ParseDateFieldUpdateProcessorFactory.java:230)
>[junit4]   2>  at 
> org.apache.solr.update.processor.ParseDateFieldUpdateProcessorFactory.validateFormatter(ParseDateFieldUpdateProcessorFactory.java:214)
>[junit4]   2>  ... 44 more
> {code}
> Here are my environment details:
> OS: Fedora 30
> Java version:
> {code}
> [ishan@chromebox core] $ java -version
> openjdk version "11.0.3" 2019-04-16
> OpenJDK Runtime Environment 18.9 (build 11.0.3+7)
> OpenJDK 64-Bit Server VM 18.9 (build 11.0.3+7, mixed mode, sharing)
> {code}
> Kernel: 5.1.16-300.fc30.x86_64
> JDK was installed via "sudo dnf install java-11-openjdk-devel".



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

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



[jira] [Updated] (SOLR-13631) Java 11 date parsing causing NPEs

2019-07-14 Thread Ishan Chattopadhyaya (JIRA)


 [ 
https://issues.apache.org/jira/browse/SOLR-13631?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ishan Chattopadhyaya updated SOLR-13631:

Description: 
Across all my machines with Fedora 30, I encounter 20+ test failures on master 
with the following NPEs. Same when starting Solr (it doesn't start up).

{code}
   [junit4]   2> Caused by: java.time.format.DateTimeParseException: Text 
'2019-07-14T07:09:13.341Z' could not be parsed: null
   [junit4]   2>at 
java.base/java.time.format.DateTimeFormatter.createError(DateTimeFormatter.java:2017)
   [junit4]   2>at 
java.base/java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1920)
   [junit4]   2>at 
org.apache.solr.update.processor.ParseDateFieldUpdateProcessorFactory.parseInstant(ParseDateFieldUpdateProcessorFactory.java:230)
   [junit4]   2>at 
org.apache.solr.update.processor.ParseDateFieldUpdateProcessorFactory.validateFormatter(ParseDateFieldUpdateProcessorFactory.java:214)
   [junit4]   2>... 44 more
{code}

Here are my environment details:
OS: Fedora 30
Java version:
{code}
[ishan@chromebox core] $ java -version
openjdk version "11.0.3" 2019-04-16
OpenJDK Runtime Environment 18.9 (build 11.0.3+7)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.3+7, mixed mode, sharing)
{code}
Kernel: 5.1.16-300.fc30.x86_64

JDK was installed via "sudo dnf install java-11-openjdk-devel".


  was:
Across all my machines with Fedora 30, I encounter 20+ test failures on master 
with the following NPEs. Same when starting Solr (it doesn't start up).

{code}
   [junit4]   2> Caused by: java.time.format.DateTimeParseException: Text 
'2019-07-14T07:09:13.341Z' could not be parsed: null
   [junit4]   2>at 
java.base/java.time.format.DateTimeFormatter.createError(DateTimeFormatter.java:2017)
   [junit4]   2>at 
java.base/java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1920)
   [junit4]   2>at 
org.apache.solr.update.processor.ParseDateFieldUpdateProcessorFactory.parseInstant(ParseDateFieldUpdateProcessorFactory.java:230)
   [junit4]   2>at 
org.apache.solr.update.processor.ParseDateFieldUpdateProcessorFactory.validateFormatter(ParseDateFieldUpdateProcessorFactory.java:214)
   [junit4]   2>... 44 more
{code}

Here are my environment details:
OS: Fedora 30
Java version:
{code}
[ishan@chromebox core] $ java -version
openjdk version "11.0.3" 2019-04-16
OpenJDK Runtime Environment 18.9 (build 11.0.3+7)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.3+7, mixed mode, sharing)
{code}
Kernel: 5.1.16-300.fc30.x86_64



> Java 11 date parsing causing NPEs
> -
>
> Key: SOLR-13631
> URL: https://issues.apache.org/jira/browse/SOLR-13631
> Project: Solr
>  Issue Type: Improvement
>  Security Level: Public(Default Security Level. Issues are Public) 
>Reporter: Ishan Chattopadhyaya
>Assignee: Ishan Chattopadhyaya
>Priority: Major
>
> Across all my machines with Fedora 30, I encounter 20+ test failures on 
> master with the following NPEs. Same when starting Solr (it doesn't start up).
> {code}
>[junit4]   2> Caused by: java.time.format.DateTimeParseException: Text 
> '2019-07-14T07:09:13.341Z' could not be parsed: null
>[junit4]   2>  at 
> java.base/java.time.format.DateTimeFormatter.createError(DateTimeFormatter.java:2017)
>[junit4]   2>  at 
> java.base/java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1920)
>[junit4]   2>  at 
> org.apache.solr.update.processor.ParseDateFieldUpdateProcessorFactory.parseInstant(ParseDateFieldUpdateProcessorFactory.java:230)
>[junit4]   2>  at 
> org.apache.solr.update.processor.ParseDateFieldUpdateProcessorFactory.validateFormatter(ParseDateFieldUpdateProcessorFactory.java:214)
>[junit4]   2>  ... 44 more
> {code}
> Here are my environment details:
> OS: Fedora 30
> Java version:
> {code}
> [ishan@chromebox core] $ java -version
> openjdk version "11.0.3" 2019-04-16
> OpenJDK Runtime Environment 18.9 (build 11.0.3+7)
> OpenJDK 64-Bit Server VM 18.9 (build 11.0.3+7, mixed mode, sharing)
> {code}
> Kernel: 5.1.16-300.fc30.x86_64
> JDK was installed via "sudo dnf install java-11-openjdk-devel".



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

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



[jira] [Updated] (SOLR-13631) Java 11 date parsing causing NPEs

2019-07-14 Thread Ishan Chattopadhyaya (JIRA)


 [ 
https://issues.apache.org/jira/browse/SOLR-13631?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ishan Chattopadhyaya updated SOLR-13631:

Description: 
Across all my machines with Fedora 30, I encounter 20+ test failures on master 
with the following NPEs. Same when starting Solr (it doesn't start up).

{code}
   [junit4]   2> Caused by: java.time.format.DateTimeParseException: Text 
'2019-07-14T07:09:13.341Z' could not be parsed: null
   [junit4]   2>at 
java.base/java.time.format.DateTimeFormatter.createError(DateTimeFormatter.java:2017)
   [junit4]   2>at 
java.base/java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1920)
   [junit4]   2>at 
org.apache.solr.update.processor.ParseDateFieldUpdateProcessorFactory.parseInstant(ParseDateFieldUpdateProcessorFactory.java:230)
   [junit4]   2>at 
org.apache.solr.update.processor.ParseDateFieldUpdateProcessorFactory.validateFormatter(ParseDateFieldUpdateProcessorFactory.java:214)
   [junit4]   2>... 44 more
{code}

Here are my environment details:
OS: Fedora 30
Java version:
{code}
[ishan@chromebox core] $ java -version
openjdk version "11.0.3" 2019-04-16
OpenJDK Runtime Environment 18.9 (build 11.0.3+7)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.3+7, mixed mode, sharing)
{code}
Kernel: 5.1.16-300.fc30.x86_64


  was:
Across all my machines with Fedora 30, I encounter 20+ test failures with the 
following NPEs. Same when starting Solr (it doesn't start up).

{code}
   [junit4]   2> Caused by: java.time.format.DateTimeParseException: Text 
'2019-07-14T07:09:13.341Z' could not be parsed: null
   [junit4]   2>at 
java.base/java.time.format.DateTimeFormatter.createError(DateTimeFormatter.java:2017)
   [junit4]   2>at 
java.base/java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1920)
   [junit4]   2>at 
org.apache.solr.update.processor.ParseDateFieldUpdateProcessorFactory.parseInstant(ParseDateFieldUpdateProcessorFactory.java:230)
   [junit4]   2>at 
org.apache.solr.update.processor.ParseDateFieldUpdateProcessorFactory.validateFormatter(ParseDateFieldUpdateProcessorFactory.java:214)
   [junit4]   2>... 44 more
{code}

Here are my environment details:
OS: Fedora 30
Java version:
{code}
[ishan@chromebox core] $ java -version
openjdk version "11.0.3" 2019-04-16
OpenJDK Runtime Environment 18.9 (build 11.0.3+7)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.3+7, mixed mode, sharing)
{code}
Kernel: 5.1.16-300.fc30.x86_64



> Java 11 date parsing causing NPEs
> -
>
> Key: SOLR-13631
> URL: https://issues.apache.org/jira/browse/SOLR-13631
> Project: Solr
>  Issue Type: Improvement
>  Security Level: Public(Default Security Level. Issues are Public) 
>Reporter: Ishan Chattopadhyaya
>Assignee: Ishan Chattopadhyaya
>Priority: Major
>
> Across all my machines with Fedora 30, I encounter 20+ test failures on 
> master with the following NPEs. Same when starting Solr (it doesn't start up).
> {code}
>[junit4]   2> Caused by: java.time.format.DateTimeParseException: Text 
> '2019-07-14T07:09:13.341Z' could not be parsed: null
>[junit4]   2>  at 
> java.base/java.time.format.DateTimeFormatter.createError(DateTimeFormatter.java:2017)
>[junit4]   2>  at 
> java.base/java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1920)
>[junit4]   2>  at 
> org.apache.solr.update.processor.ParseDateFieldUpdateProcessorFactory.parseInstant(ParseDateFieldUpdateProcessorFactory.java:230)
>[junit4]   2>  at 
> org.apache.solr.update.processor.ParseDateFieldUpdateProcessorFactory.validateFormatter(ParseDateFieldUpdateProcessorFactory.java:214)
>[junit4]   2>  ... 44 more
> {code}
> Here are my environment details:
> OS: Fedora 30
> Java version:
> {code}
> [ishan@chromebox core] $ java -version
> openjdk version "11.0.3" 2019-04-16
> OpenJDK Runtime Environment 18.9 (build 11.0.3+7)
> OpenJDK 64-Bit Server VM 18.9 (build 11.0.3+7, mixed mode, sharing)
> {code}
> Kernel: 5.1.16-300.fc30.x86_64



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

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



[jira] [Created] (SOLR-13631) Java 11 date parsing causing NPEs

2019-07-14 Thread Ishan Chattopadhyaya (JIRA)
Ishan Chattopadhyaya created SOLR-13631:
---

 Summary: Java 11 date parsing causing NPEs
 Key: SOLR-13631
 URL: https://issues.apache.org/jira/browse/SOLR-13631
 Project: Solr
  Issue Type: Improvement
  Security Level: Public (Default Security Level. Issues are Public)
Reporter: Ishan Chattopadhyaya
Assignee: Ishan Chattopadhyaya


Across all my machines with Fedora 30, I encounter 20+ test failures with the 
following NPEs. Same when starting Solr (it doesn't start up).

{code}
   [junit4]   2> Caused by: java.time.format.DateTimeParseException: Text 
'2019-07-14T07:09:13.341Z' could not be parsed: null
   [junit4]   2>at 
java.base/java.time.format.DateTimeFormatter.createError(DateTimeFormatter.java:2017)
   [junit4]   2>at 
java.base/java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1920)
   [junit4]   2>at 
org.apache.solr.update.processor.ParseDateFieldUpdateProcessorFactory.parseInstant(ParseDateFieldUpdateProcessorFactory.java:230)
   [junit4]   2>at 
org.apache.solr.update.processor.ParseDateFieldUpdateProcessorFactory.validateFormatter(ParseDateFieldUpdateProcessorFactory.java:214)
   [junit4]   2>... 44 more
{code}

Here are my environment details:
OS: Fedora 30
Java version:
{code}
[ishan@chromebox core] $ java -version
openjdk version "11.0.3" 2019-04-16
OpenJDK Runtime Environment 18.9 (build 11.0.3+7)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.3+7, mixed mode, sharing)
{code}
Kernel: 5.1.16-300.fc30.x86_64




--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

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



[jira] [Updated] (SOLR-12988) Skip running tests with SSL on Java 11 to 11.0.2

2019-06-21 Thread Hoss Man (JIRA)


 [ 
https://issues.apache.org/jira/browse/SOLR-12988?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Hoss Man updated SOLR-12988:

Attachment: SOLR-12988.patch
Status: Open  (was: Open)

I'm attaching a patch I've worked up which:
 * Reinstates SSL testing, both explicit and randomized
 * modifies SSLTestConfig constructor to {{assumeSslIsSafeToTest()}}
 * implements {{assumeSslIsSafeToTest()}} using a (safe to backport) regex 
based helper method that is called on the JVM_VERSION
 ** the regex is based on my research as to the SSL bugs we've definitely seen 
in past jenkins builds, and which JDK builds they exist in
 * includes unit of the regex helper method to try and ensure no false 
negatives/positives

...I think this is good to go once we get the JDKs upgraded on our jenkins 
machines, but I'm still testing & I'd appreciate sanity checking eyeballs from 
other folks.

(in particular does anyone know how to find a list of all "official" ea builds 
from OpenJDK? I _believe_ "13-ea+26" was the first "13-ea" release, which 
should means only the pre-ea "testing" versions of 13 are affected by 
JDK-8224829, but I don't actually know how to verify that)

> Skip running tests with SSL on Java 11 to 11.0.2
> 
>
> Key: SOLR-12988
> URL: https://issues.apache.org/jira/browse/SOLR-12988
> Project: Solr
>  Issue Type: Test
>Reporter: Hoss Man
>Assignee: Cao Manh Dat
>Priority: Major
>  Labels: Java11, Java12
> Attachments: SOLR-12988.patch, SOLR-12988.patch, SOLR-13413.patch
>
>
> HTTPCLIENT-1967 indicates that HttpClient can't be used properly with 
> TLSv1.3. It caused some test failures below, therefore we should skip running 
> tests with SSL on Java 11 to 11.0.2.
> TestMiniSolrCloudClusterSSL.testSslWithCheckPeerName seems to fail 100% of 
> the time when run with java11 (or java12), regardless of seed, on both master 
> & 7x.
> The nature of the problem and the way our htp stack works suggests it *may* 
> ultimately be a jetty bug (perhaps related to [jetty 
> issue#2711|https://github.com/eclipse/jetty.project/issues/2711]?)
> *HOWEVER* ... as far as i can tell, whatever the root cause is, seems to have 
> been fixed on the {{jira/http2}} branch (as of 
> 52bc163dc1804c31af09c1fba99647005da415ad) which should hopefully be getting 
> merged to master soon.
> Filing this issue largely for tracking purpose, although we may also want to 
> use it for discussions/considerations of other backports/fixes to 7x



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Commented] (SOLR-12988) Skip running tests with SSL on Java 11 to 11.0.2

2019-06-21 Thread Cao Manh Dat (JIRA)


[ 
https://issues.apache.org/jira/browse/SOLR-12988?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16869251#comment-16869251
 ] 

Cao Manh Dat commented on SOLR-12988:
-

Kinda shame, thanks Hoss!

> Skip running tests with SSL on Java 11 to 11.0.2
> 
>
> Key: SOLR-12988
> URL: https://issues.apache.org/jira/browse/SOLR-12988
> Project: Solr
>  Issue Type: Test
>Reporter: Hoss Man
>Assignee: Cao Manh Dat
>Priority: Major
>  Labels: Java11, Java12
> Attachments: SOLR-12988.patch, SOLR-13413.patch
>
>
> HTTPCLIENT-1967 indicates that HttpClient can't be used properly with 
> TLSv1.3. It caused some test failures below, therefore we should skip running 
> tests with SSL on Java 11 to 11.0.2.
> TestMiniSolrCloudClusterSSL.testSslWithCheckPeerName seems to fail 100% of 
> the time when run with java11 (or java12), regardless of seed, on both master 
> & 7x.
> The nature of the problem and the way our htp stack works suggests it *may* 
> ultimately be a jetty bug (perhaps related to [jetty 
> issue#2711|https://github.com/eclipse/jetty.project/issues/2711]?)
> *HOWEVER* ... as far as i can tell, whatever the root cause is, seems to have 
> been fixed on the {{jira/http2}} branch (as of 
> 52bc163dc1804c31af09c1fba99647005da415ad) which should hopefully be getting 
> merged to master soon.
> Filing this issue largely for tracking purpose, although we may also want to 
> use it for discussions/considerations of other backports/fixes to 7x



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Commented] (SOLR-12988) Skip running tests with SSL on Java 11 to 11.0.2

2019-06-20 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/SOLR-12988?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16869012#comment-16869012
 ] 

ASF subversion and git services commented on SOLR-12988:


Commit 456bc4dbf978f9a7c2bc16fc009057683bd7b2ca in lucene-solr's branch 
refs/heads/branch_8x from Chris M. Hostetter
[ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=456bc4d ]

SOLR-12988: Fix Revert

an (erroneous) assigment to useSsl was left in the constructor after the 
(intended) conditional assigment, rendering the conditional logic useless

(cherry picked from commit c8c2f2f25b28da694fae88868b12347bc5a2393c)


> Skip running tests with SSL on Java 11 to 11.0.2
> 
>
> Key: SOLR-12988
> URL: https://issues.apache.org/jira/browse/SOLR-12988
> Project: Solr
>  Issue Type: Test
>Reporter: Hoss Man
>Assignee: Cao Manh Dat
>Priority: Major
>  Labels: Java11, Java12
> Attachments: SOLR-12988.patch, SOLR-13413.patch
>
>
> HTTPCLIENT-1967 indicates that HttpClient can't be used properly with 
> TLSv1.3. It caused some test failures below, therefore we should skip running 
> tests with SSL on Java 11 to 11.0.2.
> TestMiniSolrCloudClusterSSL.testSslWithCheckPeerName seems to fail 100% of 
> the time when run with java11 (or java12), regardless of seed, on both master 
> & 7x.
> The nature of the problem and the way our htp stack works suggests it *may* 
> ultimately be a jetty bug (perhaps related to [jetty 
> issue#2711|https://github.com/eclipse/jetty.project/issues/2711]?)
> *HOWEVER* ... as far as i can tell, whatever the root cause is, seems to have 
> been fixed on the {{jira/http2}} branch (as of 
> 52bc163dc1804c31af09c1fba99647005da415ad) which should hopefully be getting 
> merged to master soon.
> Filing this issue largely for tracking purpose, although we may also want to 
> use it for discussions/considerations of other backports/fixes to 7x



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Commented] (SOLR-12988) Skip running tests with SSL on Java 11 to 11.0.2

2019-06-20 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/SOLR-12988?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16869013#comment-16869013
 ] 

ASF subversion and git services commented on SOLR-12988:


Commit c8c2f2f25b28da694fae88868b12347bc5a2393c in lucene-solr's branch 
refs/heads/master from Chris M. Hostetter
[ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=c8c2f2f ]

SOLR-12988: Fix Revert

an (erroneous) assigment to useSsl was left in the constructor after the 
(intended) conditional assigment, rendering the conditional logic useless


> Skip running tests with SSL on Java 11 to 11.0.2
> 
>
> Key: SOLR-12988
> URL: https://issues.apache.org/jira/browse/SOLR-12988
> Project: Solr
>  Issue Type: Test
>Reporter: Hoss Man
>Assignee: Cao Manh Dat
>Priority: Major
>  Labels: Java11, Java12
> Attachments: SOLR-12988.patch, SOLR-13413.patch
>
>
> HTTPCLIENT-1967 indicates that HttpClient can't be used properly with 
> TLSv1.3. It caused some test failures below, therefore we should skip running 
> tests with SSL on Java 11 to 11.0.2.
> TestMiniSolrCloudClusterSSL.testSslWithCheckPeerName seems to fail 100% of 
> the time when run with java11 (or java12), regardless of seed, on both master 
> & 7x.
> The nature of the problem and the way our htp stack works suggests it *may* 
> ultimately be a jetty bug (perhaps related to [jetty 
> issue#2711|https://github.com/eclipse/jetty.project/issues/2711]?)
> *HOWEVER* ... as far as i can tell, whatever the root cause is, seems to have 
> been fixed on the {{jira/http2}} branch (as of 
> 52bc163dc1804c31af09c1fba99647005da415ad) which should hopefully be getting 
> merged to master soon.
> Filing this issue largely for tracking purpose, although we may also want to 
> use it for discussions/considerations of other backports/fixes to 7x



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Commented] (SOLR-12988) Skip running tests with SSL on Java 11 to 11.0.2

2019-06-19 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/SOLR-12988?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16867963#comment-16867963
 ] 

ASF subversion and git services commented on SOLR-12988:


Commit 150e4f9863147354a489bbd62519bf2e586f41b9 in lucene-solr's branch 
refs/heads/branch_8x from Cao Manh Dat
[ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=150e4f9 ]

SOLR-12988: Revert changes


> Skip running tests with SSL on Java 11 to 11.0.2
> 
>
> Key: SOLR-12988
> URL: https://issues.apache.org/jira/browse/SOLR-12988
> Project: Solr
>  Issue Type: Test
>Reporter: Hoss Man
>Assignee: Cao Manh Dat
>Priority: Major
>  Labels: Java11, Java12
> Attachments: SOLR-12988.patch, SOLR-13413.patch
>
>
> HTTPCLIENT-1967 indicates that HttpClient can't be used properly with 
> TLSv1.3. It caused some test failures below, therefore we should skip running 
> tests with SSL on Java 11 to 11.0.2.
> TestMiniSolrCloudClusterSSL.testSslWithCheckPeerName seems to fail 100% of 
> the time when run with java11 (or java12), regardless of seed, on both master 
> & 7x.
> The nature of the problem and the way our htp stack works suggests it *may* 
> ultimately be a jetty bug (perhaps related to [jetty 
> issue#2711|https://github.com/eclipse/jetty.project/issues/2711]?)
> *HOWEVER* ... as far as i can tell, whatever the root cause is, seems to have 
> been fixed on the {{jira/http2}} branch (as of 
> 52bc163dc1804c31af09c1fba99647005da415ad) which should hopefully be getting 
> merged to master soon.
> Filing this issue largely for tracking purpose, although we may also want to 
> use it for discussions/considerations of other backports/fixes to 7x



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Commented] (SOLR-12988) Skip running tests with SSL on Java 11 to 11.0.2

2019-06-19 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/SOLR-12988?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16867962#comment-16867962
 ] 

ASF subversion and git services commented on SOLR-12988:


Commit e3752e87d005d407108f95e72b14c82d60f1c082 in lucene-solr's branch 
refs/heads/master from Cao Manh Dat
[ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=e3752e8 ]

SOLR-12988: Revert changes


> Skip running tests with SSL on Java 11 to 11.0.2
> 
>
> Key: SOLR-12988
> URL: https://issues.apache.org/jira/browse/SOLR-12988
> Project: Solr
>  Issue Type: Test
>Reporter: Hoss Man
>Assignee: Cao Manh Dat
>Priority: Major
>  Labels: Java11, Java12
> Attachments: SOLR-12988.patch, SOLR-13413.patch
>
>
> HTTPCLIENT-1967 indicates that HttpClient can't be used properly with 
> TLSv1.3. It caused some test failures below, therefore we should skip running 
> tests with SSL on Java 11 to 11.0.2.
> TestMiniSolrCloudClusterSSL.testSslWithCheckPeerName seems to fail 100% of 
> the time when run with java11 (or java12), regardless of seed, on both master 
> & 7x.
> The nature of the problem and the way our htp stack works suggests it *may* 
> ultimately be a jetty bug (perhaps related to [jetty 
> issue#2711|https://github.com/eclipse/jetty.project/issues/2711]?)
> *HOWEVER* ... as far as i can tell, whatever the root cause is, seems to have 
> been fixed on the {{jira/http2}} branch (as of 
> 52bc163dc1804c31af09c1fba99647005da415ad) which should hopefully be getting 
> merged to master soon.
> Filing this issue largely for tracking purpose, although we may also want to 
> use it for discussions/considerations of other backports/fixes to 7x



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Updated] (SOLR-12988) Skip running tests with SSL on Java 11 to 11.0.2

2019-06-19 Thread Cao Manh Dat (JIRA)


 [ 
https://issues.apache.org/jira/browse/SOLR-12988?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Cao Manh Dat updated SOLR-12988:

Attachment: (was: SOLR-12988.patch)

> Skip running tests with SSL on Java 11 to 11.0.2
> 
>
> Key: SOLR-12988
> URL: https://issues.apache.org/jira/browse/SOLR-12988
> Project: Solr
>  Issue Type: Test
>Reporter: Hoss Man
>Assignee: Cao Manh Dat
>Priority: Major
>  Labels: Java11, Java12
> Attachments: SOLR-12988.patch, SOLR-13413.patch
>
>
> HTTPCLIENT-1967 indicates that HttpClient can't be used properly with 
> TLSv1.3. It caused some test failures below, therefore we should skip running 
> tests with SSL on Java 11 to 11.0.2.
> TestMiniSolrCloudClusterSSL.testSslWithCheckPeerName seems to fail 100% of 
> the time when run with java11 (or java12), regardless of seed, on both master 
> & 7x.
> The nature of the problem and the way our htp stack works suggests it *may* 
> ultimately be a jetty bug (perhaps related to [jetty 
> issue#2711|https://github.com/eclipse/jetty.project/issues/2711]?)
> *HOWEVER* ... as far as i can tell, whatever the root cause is, seems to have 
> been fixed on the {{jira/http2}} branch (as of 
> 52bc163dc1804c31af09c1fba99647005da415ad) which should hopefully be getting 
> merged to master soon.
> Filing this issue largely for tracking purpose, although we may also want to 
> use it for discussions/considerations of other backports/fixes to 7x



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Updated] (SOLR-12988) Skip running tests with SSL on Java 11 to 11.0.2

2019-06-19 Thread Cao Manh Dat (JIRA)


 [ 
https://issues.apache.org/jira/browse/SOLR-12988?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Cao Manh Dat updated SOLR-12988:

Attachment: SOLR-12988.patch

> Skip running tests with SSL on Java 11 to 11.0.2
> 
>
> Key: SOLR-12988
> URL: https://issues.apache.org/jira/browse/SOLR-12988
> Project: Solr
>  Issue Type: Test
>Reporter: Hoss Man
>Assignee: Cao Manh Dat
>Priority: Major
>  Labels: Java11, Java12
> Attachments: SOLR-12988.patch, SOLR-12988.patch, SOLR-13413.patch
>
>
> HTTPCLIENT-1967 indicates that HttpClient can't be used properly with 
> TLSv1.3. It caused some test failures below, therefore we should skip running 
> tests with SSL on Java 11 to 11.0.2.
> TestMiniSolrCloudClusterSSL.testSslWithCheckPeerName seems to fail 100% of 
> the time when run with java11 (or java12), regardless of seed, on both master 
> & 7x.
> The nature of the problem and the way our htp stack works suggests it *may* 
> ultimately be a jetty bug (perhaps related to [jetty 
> issue#2711|https://github.com/eclipse/jetty.project/issues/2711]?)
> *HOWEVER* ... as far as i can tell, whatever the root cause is, seems to have 
> been fixed on the {{jira/http2}} branch (as of 
> 52bc163dc1804c31af09c1fba99647005da415ad) which should hopefully be getting 
> merged to master soon.
> Filing this issue largely for tracking purpose, although we may also want to 
> use it for discussions/considerations of other backports/fixes to 7x



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Commented] (SOLR-12988) Skip running tests with SSL on Java 11 to 11.0.2

2019-06-19 Thread Cao Manh Dat (JIRA)


[ 
https://issues.apache.org/jira/browse/SOLR-12988?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16867957#comment-16867957
 ] 

Cao Manh Dat commented on SOLR-12988:
-

{quote}
That's very suprising since java.lang.Runtime.Version didn't exist until 
java9...
{quote}
Hmm, now you mention, it seems weird too me as well. But the {{ant compile}} 
success at my machine with java 1.8.0_191.

{quote}
But to re-iterate: even if/once we have a "good" patch (that can be backported 
to 8x) i STILL think we need to revert all of these changes, and not move 
forward with any patch (or existing changes to allow SSL testing on java11) 
until the jenkins boxes are running 11.0.3.
{quote}
Ok that makes sense to me, I will revert changes and let you handle this issue, 
since both of us understand the problem, we just need a way to handle the test 
now which it seems you will handle it properly and more stable than me.

Just a note here, since the awaitsFix of Mark 6 months ago + the enforcment of 
using Java 11 on master. None tests on master were run with HTTPS. Hoping that 
this issue can move fast.


> Skip running tests with SSL on Java 11 to 11.0.2
> 
>
> Key: SOLR-12988
> URL: https://issues.apache.org/jira/browse/SOLR-12988
> Project: Solr
>  Issue Type: Test
>Reporter: Hoss Man
>Assignee: Cao Manh Dat
>Priority: Major
>  Labels: Java11, Java12
> Attachments: SOLR-12988.patch, SOLR-13413.patch
>
>
> HTTPCLIENT-1967 indicates that HttpClient can't be used properly with 
> TLSv1.3. It caused some test failures below, therefore we should skip running 
> tests with SSL on Java 11 to 11.0.2.
> TestMiniSolrCloudClusterSSL.testSslWithCheckPeerName seems to fail 100% of 
> the time when run with java11 (or java12), regardless of seed, on both master 
> & 7x.
> The nature of the problem and the way our htp stack works suggests it *may* 
> ultimately be a jetty bug (perhaps related to [jetty 
> issue#2711|https://github.com/eclipse/jetty.project/issues/2711]?)
> *HOWEVER* ... as far as i can tell, whatever the root cause is, seems to have 
> been fixed on the {{jira/http2}} branch (as of 
> 52bc163dc1804c31af09c1fba99647005da415ad) which should hopefully be getting 
> merged to master soon.
> Filing this issue largely for tracking purpose, although we may also want to 
> use it for discussions/considerations of other backports/fixes to 7x



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Commented] (SOLR-12988) Skip running tests with SSL on Java 11 to 11.0.2

2019-06-19 Thread Hoss Man (JIRA)


[ 
https://issues.apache.org/jira/browse/SOLR-12988?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16867933#comment-16867933
 ] 

Hoss Man commented on SOLR-12988:
-

bq. Firstly, I don't see any problem with compiling branch_8x on java8 locally.

That's very suprising since java.lang.Runtime.Version didn't exist until 
java9...

Build: https://jenkins.thetaphi.de/job/Lucene-Solr-8.x-Linux/732/
(and locally for me running w/ java8, java11, etc...)

{noformat}
[javac] Compiling 55 source files to 
/home/jenkins/workspace/Lucene-Solr-8.x-Linux/solr/build/solr-test-framework/classes/java
[javac] 
/home/jenkins/workspace/Lucene-Solr-8.x-Linux/solr/test-framework/src/java/org/apache/solr/util/SSLTestConfig.java:108:
 error: cannot
find symbol
[javac]   if (Constants.JRE_IS_MINIMUM_JAVA11 && 
Runtime.version().compareTo(Runtime.Version.parse("11.0.3")) < 0) {
[javac] ^
[javac]   symbol:   method version()
[javac]   location: class Runtime
[javac] 
/home/jenkins/workspace/Lucene-Solr-8.x-Linux/solr/test-framework/src/java/org/apache/solr/util/SSLTestConfig.java:108:
 error: cannot
find symbol
[javac]   if (Constants.JRE_IS_MINIMUM_JAVA11 && 
Runtime.version().compareTo(Runtime.Version.parse("11.0.3")) < 0) {
[javac] 
^
[javac]   symbol:   variable Version
[javac]   location: class Runtime
{noformat}


bq. Secondly, I rushed the commit to revert changes back to it used to be + 
minimal checks so Jenkins will become happy. ...

No, you didn't "revert" anything back to "minimal checks" ... you "fixed 
forward" to *different* checks.  That's not the same as "reverting" to what we 
had before: which was a known and relatively stable state.

We're talking about very fundemental changes to test infrastructure that impact 
over a thousand tests -- we should be hammering on these locally for a *LONG* 
time, with differnet JVMs, on both branches, before pushing forward any changes 
-- and as i've suggested repeatedly: we should not push *ANY* serious changes 
-- particularly jvm version dependent behavior cahnages -- until the jenkins 
boxes are running 11.0.3, so _they_ are ready to hammer on whatever changes we 
commit, in case there are *OTHER* SSL bugs we haven't found or considered yet.  
Even if we have rock solid "don't use ssl unless 11.0.3" logic in our tests, 
that's a potential time bomb that might go off w/some unknown bug once jenkins 
is upgraded -- we shouldn't just leave that in our code waiting to see what 
happens if/when you or I are offline for an extended period of time when 
jenkins gets upgraded.

bq.  ...does that most recent patch matched to your idea?

Well, besides the fact that it still uses Runtime.Version (so won't compile on 
branch_8x) i guess it's ok? but i'm still a little worried about having it only 
be conditional on the java versoin and not on the JVM impl...

bq. ...that could still lead to weird situations if/when people use non-OpenJDK 
based JVMs, or potentially use their own builds of Open-JDK that they've 
patched, etc...

Ideally i'd much rather have have a quick and dirty helper method we could use 
to ask "does this jvm manifest this bug", that actually uses the SSLEngine to 
see if these bugs get triggered -- but that's fairly non trivial, so i guess 
just checking the version info is fine (although i think we should almost 
certainly be checking the java vendor in addition to the java version)



But to re-iterate: even if/once we have a "good" patch (that can be backported 
to 8x) i *STILL* think we need to revert all of these changes, and not move 
forward with any patch (or existing changes to allow SSL testing on java11) 
until the jenkins boxes are running 11.0.3.

> Skip running tests with SSL on Java 11 to 11.0.2
> 
>
> Key: SOLR-12988
> URL: https://issues.apache.org/jira/browse/SOLR-12988
> Project: Solr
>  Issue Type: Test
>Reporter: Hoss Man
>Assignee: Cao Manh Dat
>Priority: Major
>  Labels: Java11, Java12
> Attachments: SOLR-12988.patch, SOLR-13413.patch
>
>
> HTTPCLIENT-1967 indicates that HttpClient can't be used properly with 
> TLSv1.3. It caused some test failures below, therefore we should skip running 
> tests with SSL on Java 11 to 11.0.2.
> TestMiniSolrCloudClusterSSL.testSslWithCheckPeerName seems to fail 100% of 
> the time when run with java11 (or java12), regardless of seed, on both master 
> & 7x.
> The nature of the problem and the way our htp stack works suggests it

[jira] [Commented] (SOLR-12988) Skip running tests with SSL on Java 11 to 11.0.2

2019-06-19 Thread Cao Manh Dat (JIRA)


[ 
https://issues.apache.org/jira/browse/SOLR-12988?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16867897#comment-16867897
 ] 

Cao Manh Dat commented on SOLR-12988:
-

[~hossman] does that most recent patch matched to your idea?

> Skip running tests with SSL on Java 11 to 11.0.2
> 
>
> Key: SOLR-12988
> URL: https://issues.apache.org/jira/browse/SOLR-12988
> Project: Solr
>  Issue Type: Test
>Reporter: Hoss Man
>Assignee: Cao Manh Dat
>Priority: Major
>  Labels: Java11, Java12
> Attachments: SOLR-12988.patch, SOLR-13413.patch
>
>
> HTTPCLIENT-1967 indicates that HttpClient can't be used properly with 
> TLSv1.3. It caused some test failures below, therefore we should skip running 
> tests with SSL on Java 11 to 11.0.2.
> TestMiniSolrCloudClusterSSL.testSslWithCheckPeerName seems to fail 100% of 
> the time when run with java11 (or java12), regardless of seed, on both master 
> & 7x.
> The nature of the problem and the way our htp stack works suggests it *may* 
> ultimately be a jetty bug (perhaps related to [jetty 
> issue#2711|https://github.com/eclipse/jetty.project/issues/2711]?)
> *HOWEVER* ... as far as i can tell, whatever the root cause is, seems to have 
> been fixed on the {{jira/http2}} branch (as of 
> 52bc163dc1804c31af09c1fba99647005da415ad) which should hopefully be getting 
> merged to master soon.
> Filing this issue largely for tracking purpose, although we may also want to 
> use it for discussions/considerations of other backports/fixes to 7x



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Updated] (SOLR-12988) Skip running tests with SSL on Java 11 to 11.0.2

2019-06-19 Thread Cao Manh Dat (JIRA)


 [ 
https://issues.apache.org/jira/browse/SOLR-12988?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Cao Manh Dat updated SOLR-12988:

Attachment: SOLR-12988.patch

> Skip running tests with SSL on Java 11 to 11.0.2
> 
>
> Key: SOLR-12988
> URL: https://issues.apache.org/jira/browse/SOLR-12988
> Project: Solr
>  Issue Type: Test
>Reporter: Hoss Man
>Assignee: Cao Manh Dat
>Priority: Major
>  Labels: Java11, Java12
> Attachments: SOLR-12988.patch, SOLR-13413.patch
>
>
> HTTPCLIENT-1967 indicates that HttpClient can't be used properly with 
> TLSv1.3. It caused some test failures below, therefore we should skip running 
> tests with SSL on Java 11 to 11.0.2.
> TestMiniSolrCloudClusterSSL.testSslWithCheckPeerName seems to fail 100% of 
> the time when run with java11 (or java12), regardless of seed, on both master 
> & 7x.
> The nature of the problem and the way our htp stack works suggests it *may* 
> ultimately be a jetty bug (perhaps related to [jetty 
> issue#2711|https://github.com/eclipse/jetty.project/issues/2711]?)
> *HOWEVER* ... as far as i can tell, whatever the root cause is, seems to have 
> been fixed on the {{jira/http2}} branch (as of 
> 52bc163dc1804c31af09c1fba99647005da415ad) which should hopefully be getting 
> merged to master soon.
> Filing this issue largely for tracking purpose, although we may also want to 
> use it for discussions/considerations of other backports/fixes to 7x



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Commented] (SOLR-12988) Skip running tests with SSL on Java 11 to 11.0.2

2019-06-19 Thread Cao Manh Dat (JIRA)


[ 
https://issues.apache.org/jira/browse/SOLR-12988?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16867891#comment-16867891
 ] 

Cao Manh Dat commented on SOLR-12988:
-

Hi [~hossman] I kinda think we are misunderstanding each others here. 

{quote}
that doesn't even fucking compile with java8
{quote}
Firstly, I don't see any problem with compiling branch_8x on java8 locally.

Secondly, I rushed the commit to revert changes back to it used to be + minimal 
checks so Jenkins will become happy. THEN we can continue doing what we should 
do after discussion.

Thirdly, I quite understand your idea now, so we should call {{assumFalse()}} 
in {{SSLTestConfig}} whenever SSL is enabled on Java 11 -> 11.0.2. Luckily that 
it still matches with issue's name and we do not need to change issue name 
(again).

> Skip running tests with SSL on Java 11 to 11.0.2
> 
>
> Key: SOLR-12988
> URL: https://issues.apache.org/jira/browse/SOLR-12988
> Project: Solr
>  Issue Type: Test
>Reporter: Hoss Man
>Assignee: Cao Manh Dat
>Priority: Major
>  Labels: Java11, Java12
> Attachments: SOLR-13413.patch
>
>
> HTTPCLIENT-1967 indicates that HttpClient can't be used properly with 
> TLSv1.3. It caused some test failures below, therefore we should skip running 
> tests with SSL on Java 11 to 11.0.2.
> TestMiniSolrCloudClusterSSL.testSslWithCheckPeerName seems to fail 100% of 
> the time when run with java11 (or java12), regardless of seed, on both master 
> & 7x.
> The nature of the problem and the way our htp stack works suggests it *may* 
> ultimately be a jetty bug (perhaps related to [jetty 
> issue#2711|https://github.com/eclipse/jetty.project/issues/2711]?)
> *HOWEVER* ... as far as i can tell, whatever the root cause is, seems to have 
> been fixed on the {{jira/http2}} branch (as of 
> 52bc163dc1804c31af09c1fba99647005da415ad) which should hopefully be getting 
> merged to master soon.
> Filing this issue largely for tracking purpose, although we may also want to 
> use it for discussions/considerations of other backports/fixes to 7x



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Commented] (SOLR-12988) Skip running tests with SSL on Java 11 to 11.0.2

2019-06-19 Thread Hoss Man (JIRA)


[ 
https://issues.apache.org/jira/browse/SOLR-12988?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16867866#comment-16867866
 ] 

Hoss Man commented on SOLR-12988:
-

Here's what i think...
 # You should revert *EVERYTHING* you've commited to this issue – including 
your most recent commit to branch_8x *that doesn't even fucking compile with 
java8 !*
 # We should wait for Uwe to have a chance to see & respond to my email 
requesting that jenkins be upgrade to 11.0.3 (it's only been 1 day)
 # You should slow WAAAY down on things, and stop rushing to commit things. 
Twice now you've asked me my opinion (w/o even posting a patch showing exactly 
what your suggestion was) and then rushed to commit changes (the first time 
only 2 hours later, the second 10 minutes later ... both while i was asleep) 
... apparently w/o even checking to see if it compiled first!  if you want 
opinions on your ideas give people time to (wake up and) think about it, other 
wise why bother asking?
 # Once Jenkins is running 11.0.3, *THEN* we should do the bare minimum to 
re-enable SSL testing, and wait until we see lots and lots of jenkins builds, 
running 11.0.3, to confirm there aren't any *other* SSL problems, before we 
make any other decisions about changes to either the Runtime behavior of solr, 
or to the tests.

{quote}But I kinda wondering what we should do with the tests? Should we 
enforce tests to run in TLSv1.2 for 11 to 11.02? Since not all developers - 
jenkins do know this and do the upgrade their sdk?
{quote}
I already shared my thoughts on this...
{quote}Fundementally i think it's a very bad idea to have Solr's behavior 
radically change based on introspection of the JVM details – it makes it very 
hard to test/reproduce problems. I think it makes a lot more sense for solr to 
simply log "Your JVM is known to have some problems, see URL for details" and 
let the failures happen if they are going to happen. ...
{quote}
if devs are running tests with a broken JVM, then the tests can & should fail 
... that's the job of the tests. it's a bad idea to make the tests "hide" the 
failure by "faking" that things work using a degraded cipher, or skipping SSL 
completely (yes, i also think mark's changes to SSLTestConfig in December as 
part of his commit on this issue was a terrible idea as well) ... the *ONLY* 
thing we should _consider_ allowing tests to change about their behavior if 
they see a JVM is "broken" is to {{SKIP}} ie: 
assume(SomethingThatIsFalseForTheBrokenJVM) ...
{quote}(on the Junit tests side, having assumes around JVM version is fine – 
because even then it's not a "silent" behavior change, it's an explicitly "test 
ignored because XYZ")
{quote}
...fundementally, this psuedo-code (which mark added to SSLTestConfig in 
december and still exists in a slightly diff form in your latest commit) should 
*NOT* exist anywhere in our test scaffolding...
{code:java}
if (testOrRandomizationWantsSSL && isCurrentJVMBrokenWithSSL()) {
  testOrRandomizationWantsSSL = false;
}
{code}
instead, it should be...
{code:java}
if (testOrRandomizationWantsSSL) {
  assumeFalse("Test (or randomization) wants to use SSL for this seed, " +
  "but SSL is known to fail on your JVM", 
isCurrentJVMBrokenWithSSL());
}
{code}
Saying "we're going to have our this silently use TLSv1.2 (or skip SSL) on your 
JVM because it's broken even though that's not what would happen if you tried 
to actually run solr on ths broken JVM" is the absolute worst possible thing we 
can do.

> Skip running tests with SSL on Java 11 to 11.0.2
> 
>
> Key: SOLR-12988
> URL: https://issues.apache.org/jira/browse/SOLR-12988
> Project: Solr
>  Issue Type: Test
>Reporter: Hoss Man
>Assignee: Cao Manh Dat
>Priority: Major
>  Labels: Java11, Java12
> Attachments: SOLR-13413.patch
>
>
> HTTPCLIENT-1967 indicates that HttpClient can't be used properly with 
> TLSv1.3. It caused some test failures below, therefore we should skip running 
> tests with SSL on Java 11 to 11.0.2.
> TestMiniSolrCloudClusterSSL.testSslWithCheckPeerName seems to fail 100% of 
> the time when run with java11 (or java12), regardless of seed, on both master 
> & 7x.
> The nature of the problem and the way our htp stack works suggests it *may* 
> ultimately be a jetty bug (perhaps related to [jetty 
> issue#2711|https://github.com/eclipse/jetty.project/issues/2711]?)
> *HOWEVER* ... as far as i can tell, whatever the root cause is, seems to have 
> been fixed on the {{jira/http2}} branch (as of 
> 52bc163dc1804c31af09c1fba99647005da415ad) which should hopefully be getting 
> m

[jira] [Commented] (SOLR-12988) Skip running tests with SSL on Java 11 to 11.0.2

2019-06-19 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/SOLR-12988?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16867451#comment-16867451
 ] 

ASF subversion and git services commented on SOLR-12988:


Commit 64e3cc1789bfd69c2f11caeec6c2c268239f409e in lucene-solr's branch 
refs/heads/branch_8x from Cao Manh Dat
[ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=64e3cc1 ]

SOLR-12988: Skip running tests with SSL on Java 11 to 11.0.2


> Skip running tests with SSL on Java 11 to 11.0.2
> 
>
> Key: SOLR-12988
> URL: https://issues.apache.org/jira/browse/SOLR-12988
> Project: Solr
>  Issue Type: Test
>Reporter: Hoss Man
>Assignee: Cao Manh Dat
>Priority: Major
>  Labels: Java11, Java12
> Attachments: SOLR-13413.patch
>
>
> HTTPCLIENT-1967 indicates that HttpClient can't be used properly with 
> TLSv1.3. It caused some test failures below, therefore we should skip running 
> tests with SSL on Java 11 to 11.0.2.
> TestMiniSolrCloudClusterSSL.testSslWithCheckPeerName seems to fail 100% of 
> the time when run with java11 (or java12), regardless of seed, on both master 
> & 7x.
> The nature of the problem and the way our htp stack works suggests it *may* 
> ultimately be a jetty bug (perhaps related to [jetty 
> issue#2711|https://github.com/eclipse/jetty.project/issues/2711]?)
> *HOWEVER* ... as far as i can tell, whatever the root cause is, seems to have 
> been fixed on the {{jira/http2}} branch (as of 
> 52bc163dc1804c31af09c1fba99647005da415ad) which should hopefully be getting 
> merged to master soon.
> Filing this issue largely for tracking purpose, although we may also want to 
> use it for discussions/considerations of other backports/fixes to 7x



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Commented] (SOLR-12988) Skip running tests with SSL on Java 11 to 11.0.2

2019-06-19 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/SOLR-12988?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16867449#comment-16867449
 ] 

ASF subversion and git services commented on SOLR-12988:


Commit 91944a468e6bf68bb46f1dad986533c9728c0690 in lucene-solr's branch 
refs/heads/master from Cao Manh Dat
[ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=91944a4 ]

SOLR-12988: Skip running tests with SSL on Java 11 to 11.0.2


> Skip running tests with SSL on Java 11 to 11.0.2
> 
>
> Key: SOLR-12988
> URL: https://issues.apache.org/jira/browse/SOLR-12988
> Project: Solr
>  Issue Type: Test
>Reporter: Hoss Man
>Assignee: Cao Manh Dat
>Priority: Major
>  Labels: Java11, Java12
> Attachments: SOLR-13413.patch
>
>
> HTTPCLIENT-1967 indicates that HttpClient can't be used properly with 
> TLSv1.3. It caused some test failures below, therefore we should skip running 
> tests with SSL on Java 11 to 11.0.2.
> TestMiniSolrCloudClusterSSL.testSslWithCheckPeerName seems to fail 100% of 
> the time when run with java11 (or java12), regardless of seed, on both master 
> & 7x.
> The nature of the problem and the way our htp stack works suggests it *may* 
> ultimately be a jetty bug (perhaps related to [jetty 
> issue#2711|https://github.com/eclipse/jetty.project/issues/2711]?)
> *HOWEVER* ... as far as i can tell, whatever the root cause is, seems to have 
> been fixed on the {{jira/http2}} branch (as of 
> 52bc163dc1804c31af09c1fba99647005da415ad) which should hopefully be getting 
> merged to master soon.
> Filing this issue largely for tracking purpose, although we may also want to 
> use it for discussions/considerations of other backports/fixes to 7x



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Updated] (SOLR-12988) Skip running tests with SSL on Java 11 to 11.0.2

2019-06-19 Thread Cao Manh Dat (JIRA)


 [ 
https://issues.apache.org/jira/browse/SOLR-12988?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Cao Manh Dat updated SOLR-12988:

Description: 
HTTPCLIENT-1967 indicates that HttpClient can't be used properly with TLSv1.3. 
It caused some test failures below, therefore we should skip running tests with 
SSL on Java 11 to 11.0.2.

TestMiniSolrCloudClusterSSL.testSslWithCheckPeerName seems to fail 100% of the 
time when run with java11 (or java12), regardless of seed, on both master & 7x.

The nature of the problem and the way our htp stack works suggests it *may* 
ultimately be a jetty bug (perhaps related to [jetty 
issue#2711|https://github.com/eclipse/jetty.project/issues/2711]?)

*HOWEVER* ... as far as i can tell, whatever the root cause is, seems to have 
been fixed on the {{jira/http2}} branch (as of 
52bc163dc1804c31af09c1fba99647005da415ad) which should hopefully be getting 
merged to master soon.

Filing this issue largely for tracking purpose, although we may also want to 
use it for discussions/considerations of other backports/fixes to 7x

  was:
HTTPCLIENT-1967 indicates that HttpClient can't be used properly with TLSv1.3. 
It caused some test failures below, therefore we should enforce HttpClient to 
uses TLSv1.2 or lower versions.

TestMiniSolrCloudClusterSSL.testSslWithCheckPeerName seems to fail 100% of the 
time when run with java11 (or java12), regardless of seed, on both master & 7x.

The nature of the problem and the way our htp stack works suggests it *may* 
ultimately be a jetty bug (perhaps related to [jetty 
issue#2711|https://github.com/eclipse/jetty.project/issues/2711]?)

*HOWEVER* ... as far as i can tell, whatever the root cause is, seems to have 
been fixed on the {{jira/http2}} branch (as of 
52bc163dc1804c31af09c1fba99647005da415ad) which should hopefully be getting 
merged to master soon.

Filing this issue largely for tracking purpose, although we may also want to 
use it for discussions/considerations of other backports/fixes to 7x


> Skip running tests with SSL on Java 11 to 11.0.2
> 
>
> Key: SOLR-12988
> URL: https://issues.apache.org/jira/browse/SOLR-12988
> Project: Solr
>  Issue Type: Test
>Reporter: Hoss Man
>Assignee: Cao Manh Dat
>Priority: Major
>  Labels: Java11, Java12
> Attachments: SOLR-13413.patch
>
>
> HTTPCLIENT-1967 indicates that HttpClient can't be used properly with 
> TLSv1.3. It caused some test failures below, therefore we should skip running 
> tests with SSL on Java 11 to 11.0.2.
> TestMiniSolrCloudClusterSSL.testSslWithCheckPeerName seems to fail 100% of 
> the time when run with java11 (or java12), regardless of seed, on both master 
> & 7x.
> The nature of the problem and the way our htp stack works suggests it *may* 
> ultimately be a jetty bug (perhaps related to [jetty 
> issue#2711|https://github.com/eclipse/jetty.project/issues/2711]?)
> *HOWEVER* ... as far as i can tell, whatever the root cause is, seems to have 
> been fixed on the {{jira/http2}} branch (as of 
> 52bc163dc1804c31af09c1fba99647005da415ad) which should hopefully be getting 
> merged to master soon.
> Filing this issue largely for tracking purpose, although we may also want to 
> use it for discussions/considerations of other backports/fixes to 7x



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Updated] (SOLR-12988) Skip running tests with SSL on Java 11 to 11.0.2

2019-06-19 Thread Cao Manh Dat (JIRA)


 [ 
https://issues.apache.org/jira/browse/SOLR-12988?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Cao Manh Dat updated SOLR-12988:

Summary: Skip running tests with SSL on Java 11 to 11.0.2  (was: Avoid 
using TLSv1.3 for HttpClient)

> Skip running tests with SSL on Java 11 to 11.0.2
> 
>
> Key: SOLR-12988
> URL: https://issues.apache.org/jira/browse/SOLR-12988
> Project: Solr
>  Issue Type: Test
>Reporter: Hoss Man
>Assignee: Cao Manh Dat
>Priority: Major
>  Labels: Java11, Java12
> Attachments: SOLR-13413.patch
>
>
> HTTPCLIENT-1967 indicates that HttpClient can't be used properly with 
> TLSv1.3. It caused some test failures below, therefore we should enforce 
> HttpClient to uses TLSv1.2 or lower versions.
> TestMiniSolrCloudClusterSSL.testSslWithCheckPeerName seems to fail 100% of 
> the time when run with java11 (or java12), regardless of seed, on both master 
> & 7x.
> The nature of the problem and the way our htp stack works suggests it *may* 
> ultimately be a jetty bug (perhaps related to [jetty 
> issue#2711|https://github.com/eclipse/jetty.project/issues/2711]?)
> *HOWEVER* ... as far as i can tell, whatever the root cause is, seems to have 
> been fixed on the {{jira/http2}} branch (as of 
> 52bc163dc1804c31af09c1fba99647005da415ad) which should hopefully be getting 
> merged to master soon.
> Filing this issue largely for tracking purpose, although we may also want to 
> use it for discussions/considerations of other backports/fixes to 7x



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Commented] (SOLR-13424) Ref Guide PDF build throws Java warnings after requiring Java 11 on master

2019-05-07 Thread Hoss Man (JIRA)


[ 
https://issues.apache.org/jira/browse/SOLR-13424?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16835025#comment-16835025
 ] 

Hoss Man commented on SOLR-13424:
-

both sets of warnings come using {{org.asciidoctor}} code (either directly 
execing when building the barebones HTML, or programatically to parse metadata 
out of the files for building the nav data) which delegates to jruby where the 
reflection lives...

https://github.com/jruby/jruby/issues/4834
https://github.com/jruby/jruby/issues/5559

...i'm not sure why the {{\-build-raw-pdf}} target doesn't generate the same 
warnings, but i don't think there is much we can do about it until there is a 
jruby fix

> Ref Guide PDF build throws Java warnings after requiring Java 11 on master
> --
>
> Key: SOLR-13424
> URL: https://issues.apache.org/jira/browse/SOLR-13424
> Project: Solr
>  Issue Type: Bug
>  Security Level: Public(Default Security Level. Issues are Public) 
>  Components: documentation
>Reporter: Cassandra Targett
>Priority: Major
>
> Since the {{master}} branch requires Java 11, the Ref Guide build has started 
> throwing WARNINGs that we should look into. Despite the WARNINGs, the PDF 
> build finishes successfully and appears the same as usual. 
> There are a couple moving parts here - first some classes [~hossman] wrote to 
> validate links in the PDF, and second a .jar from the {{asciidoctor-ant}} 
> project. I suspect some of these are related to Hoss' code and some are from 
> the project that's doing the PDF conversion.
> I'll put the output from a Jenkins job in the comment to show the errors.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Commented] (LUCENE-8780) Improve ByteBufferGuard in Java 11

2019-04-29 Thread Uwe Schindler (JIRA)


[ 
https://issues.apache.org/jira/browse/LUCENE-8780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16829739#comment-16829739
 ] 

Uwe Schindler commented on LUCENE-8780:
---

I did a second patch that uses AtomicBoolean instead of VarHandles. The 
underlying code is the same: {{AtomicBoolean.getOpaque()}} calls a VarHandle 
behind the scenes (BTW, AtomicInteger, AtomicBoolean,... all were rewritten and 
use the VarHandle mechanism, see e.g., 
[https://hg.openjdk.java.net/jdk/jdk11/file/1ddf9a99e4ad/src/java.base/share/classes/java/util/concurrent/atomic/AtomicBoolean.java]).

Here is this version #2: 
https://github.com/apache/lucene-solr/compare/master...uschindler:jira/LUCENE-8780-v2

The effect was worse, so it's not an option. But this brings me to the 
conclusion: The actual calls using the other memory models are not actually the 
problem. Also the VarHandles and AtomicBooleans are correctly optimized away, 
but it looks like because of the complexity of the optimizations on the lowest 
level, it takes much longer until it gets faster and some optimizations are not 
applied at all (you cannot remove opaque reads, because the memory model 
eventually makes changes from other threads visible).

Here are the results from the AtomicBoolean:

{noformat}
Report after iter 10:
TaskQPS orig  StdDev   QPS patch  StdDev
Pct diff
  IntNRQ   22.48 (12.8%)   16.86 (13.0%)  
-25.0% ( -45% -0%)
PKLookup  112.32 (14.5%)   92.37  (7.6%)  
-17.8% ( -34% -5%)
   OrHighLow  207.87 (16.6%)  185.52  (4.1%)  
-10.8% ( -26% -   11%)
OrNotHighMed  992.06  (9.3%)  914.79  (1.5%)   
-7.8% ( -16% -3%)
HighSpanNear5.22 (10.2%)4.83  (5.4%)   
-7.5% ( -20% -9%)
  Fuzzy1   44.66  (9.7%)   41.46  (2.1%)   
-7.2% ( -17% -5%)
 MedSpanNear8.24 (18.2%)7.67 (12.4%)   
-6.9% ( -31% -   28%)
 LowSloppyPhrase6.91 (19.1%)6.46 (13.4%)   
-6.6% ( -32% -   31%)
Wildcard   43.23 (13.9%)   40.47  (6.0%)   
-6.4% ( -23% -   15%)
   LowPhrase   11.89 (11.4%)   11.18  (3.7%)   
-6.0% ( -18% -   10%)
OrHighNotMed 1188.55  (6.3%) 1118.58  (1.3%)   
-5.9% ( -12% -1%)
  Fuzzy2   66.58  (1.4%)   62.85  (1.7%)   
-5.6% (  -8% -   -2%)
  HighPhrase   32.87 (11.8%)   31.15  (8.8%)   
-5.2% ( -23% -   17%)
OrNotHighLow  537.79  (2.2%)  511.56  (8.8%)   
-4.9% ( -15% -6%)
 MedSloppyPhrase   44.16 (10.0%)   42.08  (2.3%)   
-4.7% ( -15% -8%)
   OrNotHighHigh  984.54  (2.2%)  942.20  (1.7%)   
-4.3% (  -8% -0%)
 AndHighHigh6.40 (12.1%)6.15 (12.8%)   
-3.9% ( -25% -   23%)
  AndHighMed   57.29  (9.9%)   55.19  (3.4%)   
-3.7% ( -15% -   10%)
HighSloppyPhrase4.60 (14.3%)4.44  (6.0%)   
-3.5% ( -20% -   19%)
   OrHighNotHigh  853.88  (2.7%)  824.51  (3.7%)   
-3.4% (  -9% -3%)
   MedPhrase   73.25  (2.6%)   70.85  (3.4%)   
-3.3% (  -9% -2%)
 LowTerm 1130.00  (5.4%) 1093.38  (2.5%)   
-3.2% ( -10% -4%)
   OrHighMed   34.61  (2.3%)   33.58  (3.1%)   
-3.0% (  -8% -2%)
 MedTerm  994.47  (7.9%)  975.29  (7.9%)   
-1.9% ( -16% -   15%)
OrHighNotLow  762.68  (3.0%)  749.09  (5.2%)   
-1.8% (  -9% -6%)
 Respell   53.06  (6.9%)   52.44 (11.5%)   
-1.2% ( -18% -   18%)
 LowSpanNear8.29  (5.3%)8.30 (10.0%)
0.1% ( -14% -   16%)
   HighTermDayOfYearSort   22.78  (6.4%)   22.88  (7.1%)
0.4% ( -12% -   14%)
HighTerm  822.80  (3.2%)  827.84  (8.2%)
0.6% ( -10% -   12%)
  OrHighHigh8.85 (10.0%)8.92 (14.5%)
0.8% ( -21% -   28%)
  AndHighLow  258.08  (4.7%)  261.18 (10.0%)
1.2% ( -12% -   16%)
   HighTermMonthSort   13.86  (9.2%)   14.63 (22.9%)
5.6% ( -24% -   41%)
 Prefix3   27.01 (10.1%)   28.72 (25.0%)
6.3% ( -26% -   46%)
{noformat}

As said before, removing the null check does not matter at all, it just makes 
the variance on short running tests less evident, but the average is identical.

> Improve ByteBufferGuard in Java 11
> --
>
> Key:

[jira] [Commented] (LUCENE-8780) Improve ByteBufferGuard in Java 11

2019-04-29 Thread Robert Muir (JIRA)


[ 
https://issues.apache.org/jira/browse/LUCENE-8780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16829444#comment-16829444
 ] 

Robert Muir commented on LUCENE-8780:
-

i imagine any slowdown only impacts stuff doing lots of tiny reads vs reading 
big byte[].
The current code in most cases will deliver ACE in someones unit test rather 
than a crash. Maybe if you are lucky you even get an ACE rather than sigsegv in 
production too. To me it seems like the promise of this patch is that you stand 
a better chance, even after code is running for a while (10k times or 
whatever). our best effort check will no longer be optimized away? but thats 
also its downside: it wont get optimized away even if you have no bugs in your 
code. 

seems like we just decide on the correct tradeoff. personally i lean towards 
more aggressive safety: the user is using java, they dont expect sigsegv. just 
like they dont expect to run out of mmaps because its tied to gc, and they dont 
expect all their searches bottlenecked on one file handle, due to stupid 
synchronizatiom on a relative file pointer we dont even care about.

> Improve ByteBufferGuard in Java 11
> --
>
> Key: LUCENE-8780
> URL: https://issues.apache.org/jira/browse/LUCENE-8780
> Project: Lucene - Core
>  Issue Type: Improvement
>  Components: core/store
>Affects Versions: master (9.0)
>Reporter: Uwe Schindler
>Assignee: Uwe Schindler
>Priority: Major
>  Labels: Java11
> Attachments: LUCENE-8780.patch
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> In LUCENE-7409 we added {{ByteBufferGuard}} to protect MMapDirectory from 
> crushing the JVM with SIGSEGV when you close and unmap the mmapped buffers of 
> an IndexInput, while another thread is accessing it.
> The idea was to do a volatile write access to flush the caches (to trigger a 
> full fence) and set a non-volatile boolean to true. All accesses would check 
> the boolean and stop the caller from accessing the underlying ByteBuffer. 
> This worked most of the time, until the JVM optimized away the plain read 
> access to the boolean (you can easily see this after some runtime of our 
> by-default ignored testcase).
> With master on Java 11, we can improve the whole thing. Using VarHandles you 
> can use any access type when reading or writing the boolean. After reading 
> Doug Lea's expanation <http://gee.cs.oswego.edu/dl/html/j9mm.html> and some 
> testing, I was no longer able to crush my JDK (even after running for minutes 
> unmapping bytebuffers).
> The apraoch is the same, we do a full-fenced write (standard volatile write) 
> when we unmap, then we yield the thread (to finish in-flight reads in other 
> threads) and then unmap all byte buffers.
> On the test side (read access), instead of using a plain read, we use the new 
> "opaque read". Opaque reads are the same as plain reads, there are only 
> different order requirements. Actually the main difference is explained by 
> Doug like this: "For example in constructions in which the only modification 
> of some variable x is for one thread to write in Opaque (or stronger) mode, 
> X.setOpaque(this, 1), any other thread spinning in 
> while(X.getOpaque(this)!=1){} will eventually terminate. Note that this 
> guarantee does NOT hold in Plain mode, in which spin loops may (and usually 
> do) infinitely loop -- they are not required to notice that a write ever 
> occurred in another thread if it was not seen on first encounter." - And 
> that's waht we want to have: We don't want to do volatile reads, but we want 
> to prevent the compiler from optimizing away our read to the boolean. So we 
> want it to "eventually" see the change. By the much stronger volatile write, 
> the cache effects should be visible even faster (like in our Java 8 approach, 
> just now we improved our read side).
> The new code is much slimmer (theoretically we could also use a AtomicBoolean 
> for that and use the new method {{getOpaque()}}, but I wanted to prevent 
> extra method calls, so I used a VarHandle directly).
> It's setup like this:
> - The underlying boolean field is a private member (with unused 
> SuppressWarnings, as its unused by the java compiler), marked as volatile 
> (that's the recommendation, but in reality it does not matter at all).
> - We create a VarHandle to access this boolean, we never do this directly 
> (this is why the volatile marking does not affect us).
> - We use VarHandle.setVolatile() to change our "invalidated" boolean to 
> "true", so enforcing a full fence
> - On the read s

[jira] [Comment Edited] (LUCENE-8780) Improve ByteBufferGuard in Java 11

2019-04-29 Thread Uwe Schindler (JIRA)
re is no way to make 
ByteBufferGuard "safe" unless you use a volatile or with an aquire/release 
fence (that can be implemented also with the varhandles). When using it, I was 
unable to crush my VM, but slowdown is definitely there. Also manually putting 
in fences does not help.

The main difference between plain read and opaque (as used here) is not that 
the produced CPU instructions are different, the difference is only how the 
optimizer may optimize code. With plain reads, a simple spin-loop will never 
end, as the hotspot compiler clearly sees that the value can't change, and 
because it's not volatile, opaque or whatever, he will remove it for this 
thread. This does not only happen in spin loops, it also happens in our code if 
it's executed often enough. This is not a bug, it's wanted.

I tuned the testcase to crush always: Just insert a loop of 10.000 reads BEFORE 
you unmap, then it fails always (in Java 8). With opaque it was also doing 
this, but not reproducible, so there is an improvement. IMHO, the reason why we 
see a slowdown for some queries could be coming from that: Hotspot is removing 
the "if (invalidated)" check, as it cannot change in the current thread. With 
opaque it can't do it, so the code is slower on the long term. I will try to 
get some assembly output later, just have to install hsdis.dll.

To make it bulletproof, we have to wait for official support by the ByteBuffer 
API to officially unmap (https://bugs.openjdk.java.net/browse/JDK-4724038), 
with our checks we cannot make it safe. Another approach would be to expand the 
SIGSEGV signal handler checks in the JVM to throw an InternalError (they do it 
now if the operating system truncates the file and so the mapped are changes). 
I don't know why they not generally do a SIGSEGV check and if it happens inside 
DirectBuffer they just throw an Exception (possibly delayed as in the 
truncated file case).

So we have to decide what we want to do as a workaround:
- We can't be bulletproof
- We can catch with our current code most cases where you open an index, start 
a query and then close the reader. This only works shortly after program 
started and everything is not yet optimized. As soon as there were multiple 
queries already running and you close the JVM later, it SIGSEGV almost always. 
Not even "opaque" semantics help here.
- With the current code we can go a bit further, but we have some slowdown, but 
it's still not save.

> Improve ByteBufferGuard in Java 11
> --
>
> Key: LUCENE-8780
> URL: https://issues.apache.org/jira/browse/LUCENE-8780
> Project: Lucene - Core
>  Issue Type: Improvement
>  Components: core/store
>Affects Versions: master (9.0)
>Reporter: Uwe Schindler
>Assignee: Uwe Schindler
>Priority: Major
>  Labels: Java11
> Attachments: LUCENE-8780.patch
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> In LUCENE-7409 we added {{ByteBufferGuard}} to protect MMapDirectory from 
> crushing the JVM with SIGSEGV when you close and unmap the mmapped buffers of 
> an IndexInput, while another thread is accessing it.
> The idea was to do a volatile write access to flush the caches (to trigger a 
> full fence) and set a non-volatile boolean to true. All accesses would check 
> the boolean and stop the caller from accessing the underlying ByteBuffer. 
> This worked most of the time, until the JVM optimized away the plain read 
> access to the boolean (you can easily see this after some runtime of our 
> by-default ignored testcase).
> With master on Java 11, we can improve the whole thing. Using VarHandles you 
> can use any access type when reading or writing the boolean. After reading 
> Doug Lea's expanation <http://gee.cs.oswego.edu/dl/html/j9mm.html> and some 
> testing, I was no longer able to crush my JDK (even after running for minutes 
> unmapping bytebuffers).
> The apraoch is the same, we do a full-fenced write (standard volatile write) 
> when we unmap, then we yield the thread (to finish in-flight reads in other 
> threads) and then unmap all byte buffers.
> On the test side (read access), instead of using a plain read, we use the new 
> "opaque read". Opaque reads are the same as plain reads, there are only 
> different order requirements. Actually the main difference is explained by 
> Doug like this: "For example in constructions in which the only modification 
> of some variable x is for one thread to write in Opaque (or stronger) mode, 
> X.setOpaque(this, 1), any other thread spinning in 
> while(X.getOpaque(this)!=1){} will eventually terminate. Note that this 
> guarantee does NOT hold in Plain mode, in which spin loops may (and usually 
> do) inf

[jira] [Comment Edited] (LUCENE-8780) Improve ByteBufferGuard in Java 11

2019-04-29 Thread Uwe Schindler (JIRA)
n is definitely there. Also manually putting 
in fences does not help.

The main difference between plain read and opaque (as used here) is not that 
the produced CPU instructions are different, the difference is only how the 
optimizer may optimize code. With plain reads, a simple spin-loop will never 
end, as the hotspot compiler clearly sees that the value can't change, and 
because it's not volatile, opaque or whatever, he will remove it for this 
thread. This does not only happen in spin loops, it also happens in our code if 
it's executed often enough. This is not a bug, it's wanted.

I tuned the testcase to crush always: Just insert a loop of 10.000 reads BEFORE 
you unmap, then it fails always (in Java 8). With opaque it was also doing 
this, but not reproducible, so there is an improvement. IMHO, the reason why we 
see a slowdown for some queries could be coming from that: Hotspot is removing 
the "if (invalidated)" check, as it cannot change in the current thread. With 
opaque it can't do it, so the code is slower on the long term. I will try to 
get some assembly output later, just have to install hsdis.dll.

To make it bulletproof, we have to wait for official support by the ByteBuffer 
API to officially unmap (https://bugs.openjdk.java.net/browse/JDK-4724038), 
with our checks we cannot make it safe. Another approach would be to expand the 
SIGSEGV signal handler checks in the JVM to throw an InternalError (they do it 
now if the operating system truncates the file and so the mapped are changes). 
I don't know why they not generally do a SIGSEGV check and if it happens inside 
DirectBuffer they just throw an Exception (possibly delayed as in the 
truncated file case).

So we have to decide what we want to do as a workaround:
- We can't be bulletproof
- We can catch with our current code most cases where you open an index, start 
a query and then close the reader. This only works shortly after program 
started and everything is not yet optimized. As soon as there were multiple 
queries already running and you close the JVM later, it SIGSEGV almost always. 
Not even "opaque" semantics help here.
- With the current code we can go a bit further, but we have some slowdown, but 
it's still not save.

> Improve ByteBufferGuard in Java 11
> --
>
> Key: LUCENE-8780
> URL: https://issues.apache.org/jira/browse/LUCENE-8780
> Project: Lucene - Core
>  Issue Type: Improvement
>  Components: core/store
>Affects Versions: master (9.0)
>Reporter: Uwe Schindler
>Assignee: Uwe Schindler
>Priority: Major
>  Labels: Java11
> Attachments: LUCENE-8780.patch
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> In LUCENE-7409 we added {{ByteBufferGuard}} to protect MMapDirectory from 
> crushing the JVM with SIGSEGV when you close and unmap the mmapped buffers of 
> an IndexInput, while another thread is accessing it.
> The idea was to do a volatile write access to flush the caches (to trigger a 
> full fence) and set a non-volatile boolean to true. All accesses would check 
> the boolean and stop the caller from accessing the underlying ByteBuffer. 
> This worked most of the time, until the JVM optimized away the plain read 
> access to the boolean (you can easily see this after some runtime of our 
> by-default ignored testcase).
> With master on Java 11, we can improve the whole thing. Using VarHandles you 
> can use any access type when reading or writing the boolean. After reading 
> Doug Lea's expanation <http://gee.cs.oswego.edu/dl/html/j9mm.html> and some 
> testing, I was no longer able to crush my JDK (even after running for minutes 
> unmapping bytebuffers).
> The apraoch is the same, we do a full-fenced write (standard volatile write) 
> when we unmap, then we yield the thread (to finish in-flight reads in other 
> threads) and then unmap all byte buffers.
> On the test side (read access), instead of using a plain read, we use the new 
> "opaque read". Opaque reads are the same as plain reads, there are only 
> different order requirements. Actually the main difference is explained by 
> Doug like this: "For example in constructions in which the only modification 
> of some variable x is for one thread to write in Opaque (or stronger) mode, 
> X.setOpaque(this, 1), any other thread spinning in 
> while(X.getOpaque(this)!=1){} will eventually terminate. Note that this 
> guarantee does NOT hold in Plain mode, in which spin loops may (and usually 
> do) infinitely loop -- they are not required to notice that a write ever 
> occurred in another thread if it was not seen on first encounter." - And 
> that's waht we want to have: We don't want to do volatile reads, but we

[jira] [Commented] (LUCENE-8780) Improve ByteBufferGuard in Java 11

2019-04-29 Thread Uwe Schindler (JIRA)


[ 
https://issues.apache.org/jira/browse/LUCENE-8780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16829428#comment-16829428
 ] 

Uwe Schindler commented on LUCENE-8780:
---

Hi,
I did some tests over the last night. The fluctuating results can be improved 
by removing the null-check on the "cleaner". Normally this one should be 
optimized away, but that seems to be too hard. Without it, you still have some 
variance in the results, but it's better.

In general the new code is a bit slower, which is more visible if you have 
shorter runtime, so it looks like optimizing aways the VarHandle simply takes 
longer, and this degrades oaverage performance. I don't know how long the 
benchmark runs a warmup.

bq. Every time I read about those memory ordering models I seem to get it and 
two weeks later I'm again confused...

That's the ssme for me. But our use-case seems to be pretty good explained in 
the above quotes by Doug Lea. It clearly says that a volatile write is harder 
than a opaque read, but the opaque read is only visible eventually.

I was already talking with Hotspot guys: In short, there is no way to make 
ByteBufferGuard "safe" unless you use a volatile or with an aquire/release 
fence (that can be implemented also with the varhandles). When using it, I was 
unable to crush my VM, but slowdown is definitely there. Also manually putting 
in fences does not help.

The main difference between plain read and opaque (as used here) is not that 
the produced CPU instructions are different, the difference is only how the 
optimizer may optimize code. With plain reads, a simple spin-loop will never 
end, as the hotspot compiler clearly sees that the value can't change, and 
because it's not volatile, opaque or whatever, he will remove it for this 
thread. This does not only happen in spin loops, it also happens in our code if 
it's executed often enough. This is not a bug, it's wanted.

I tuned the testcase to crush always: Just insert a loop of 10.000 reads BEFORE 
you unmap, then it fails always (in Java 8). With opaque it was also doing 
this, but not reproducible, so there is an improvement. IMHO, the reason why we 
see a slowdown for some queries could be coming from that: Hotspot is removing 
the "if (invalidated)" check, as it cannot change in the current thread. With 
opaque it can't do it, so the code is slower on the long term. I will try to 
get some assembly output later, just have to install hsdis.dll.

To make it bulletproof, we have to wait for official support by the ByteBuffer 
API to officially unmap (https://bugs.openjdk.java.net/browse/JDK-4724038), 
with our checks we cannot make it safe. Another approach would be to expand the 
SIGSEGV signal handler checks in the JVM to throw an InternalError (they do it 
now if the operating system truncates the file and so the mapped are changes). 
I don't know why they not generally do a SIGSEGV check and if it happens inside 
DirectBuffer they just throw an Exception (possibly delayed as in the 
truncated file case).

So we have to decide what we want to do as a workaround:
- We can't be bulletproof
- We can catch with our current code most cases where you open an index, start 
a query and then close the reader. This only works shortly after program 
started and everything is not yet optimized. As soon as there were multiple 
queries already running and you close the JVM later, it SIGSEGV almost always. 
Not even "opaque" semantics help here.
- With the current code we can go a bit further, but we have some slowdown, but 
it's still not save.

> Improve ByteBufferGuard in Java 11
> --
>
> Key: LUCENE-8780
> URL: https://issues.apache.org/jira/browse/LUCENE-8780
> Project: Lucene - Core
>  Issue Type: Improvement
>  Components: core/store
>Affects Versions: master (9.0)
>Reporter: Uwe Schindler
>Assignee: Uwe Schindler
>Priority: Major
>  Labels: Java11
> Attachments: LUCENE-8780.patch
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> In LUCENE-7409 we added {{ByteBufferGuard}} to protect MMapDirectory from 
> crushing the JVM with SIGSEGV when you close and unmap the mmapped buffers of 
> an IndexInput, while another thread is accessing it.
> The idea was to do a volatile write access to flush the caches (to trigger a 
> full fence) and set a non-volatile boolean to true. All accesses would check 
> the boolean and stop the caller from accessing the underlying ByteBuffer. 
> This worked most of the time, until the JVM optimized away the plain read 
> access to the boolean (you can easily see this after some runtime of our 
> by-default ignored testcase).
> With master on Java 11, we can improve

[jira] [Commented] (LUCENE-8780) Improve ByteBufferGuard in Java 11

2019-04-29 Thread Dawid Weiss (JIRA)


[ 
https://issues.apache.org/jira/browse/LUCENE-8780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16829031#comment-16829031
 ] 

Dawid Weiss commented on LUCENE-8780:
-

Every time I read about those memory ordering models I seem to get it and two 
weeks later I'm again confused... So I don't know if what you propose is right 
or wrong. The volatile mode always seemed to me to be regulating relationships 
among other volatile reads/ writes (and not specifying what happens to other 
variable reads/ writes not covered by volatiles)... perhaps you can piggyback 
fences on top of that, but maybe you can't. We could fire an e-mail to 
concurrency dev list so that more knowledgeable folks take a peek and let us 
know? Just saying... 

Also: "until the JVM optimized away the plain read access to the boolean" -- 
when did that happen, do you have a reference openjdk Jira issue?

> Improve ByteBufferGuard in Java 11
> --
>
> Key: LUCENE-8780
> URL: https://issues.apache.org/jira/browse/LUCENE-8780
> Project: Lucene - Core
>  Issue Type: Improvement
>  Components: core/store
>Affects Versions: master (9.0)
>Reporter: Uwe Schindler
>Assignee: Uwe Schindler
>Priority: Major
>  Labels: Java11
> Attachments: LUCENE-8780.patch
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> In LUCENE-7409 we added {{ByteBufferGuard}} to protect MMapDirectory from 
> crushing the JVM with SIGSEGV when you close and unmap the mmapped buffers of 
> an IndexInput, while another thread is accessing it.
> The idea was to do a volatile write access to flush the caches (to trigger a 
> full fence) and set a non-volatile boolean to true. All accesses would check 
> the boolean and stop the caller from accessing the underlying ByteBuffer. 
> This worked most of the time, until the JVM optimized away the plain read 
> access to the boolean (you can easily see this after some runtime of our 
> by-default ignored testcase).
> With master on Java 11, we can improve the whole thing. Using VarHandles you 
> can use any access type when reading or writing the boolean. After reading 
> Doug Lea's expanation <http://gee.cs.oswego.edu/dl/html/j9mm.html> and some 
> testing, I was no longer able to crush my JDK (even after running for minutes 
> unmapping bytebuffers).
> The apraoch is the same, we do a full-fenced write (standard volatile write) 
> when we unmap, then we yield the thread (to finish in-flight reads in other 
> threads) and then unmap all byte buffers.
> On the test side (read access), instead of using a plain read, we use the new 
> "opaque read". Opaque reads are the same as plain reads, there are only 
> different order requirements. Actually the main difference is explained by 
> Doug like this: "For example in constructions in which the only modification 
> of some variable x is for one thread to write in Opaque (or stronger) mode, 
> X.setOpaque(this, 1), any other thread spinning in 
> while(X.getOpaque(this)!=1){} will eventually terminate. Note that this 
> guarantee does NOT hold in Plain mode, in which spin loops may (and usually 
> do) infinitely loop -- they are not required to notice that a write ever 
> occurred in another thread if it was not seen on first encounter." - And 
> that's waht we want to have: We don't want to do volatile reads, but we want 
> to prevent the compiler from optimizing away our read to the boolean. So we 
> want it to "eventually" see the change. By the much stronger volatile write, 
> the cache effects should be visible even faster (like in our Java 8 approach, 
> just now we improved our read side).
> The new code is much slimmer (theoretically we could also use a AtomicBoolean 
> for that and use the new method {{getOpaque()}}, but I wanted to prevent 
> extra method calls, so I used a VarHandle directly).
> It's setup like this:
> - The underlying boolean field is a private member (with unused 
> SuppressWarnings, as its unused by the java compiler), marked as volatile 
> (that's the recommendation, but in reality it does not matter at all).
> - We create a VarHandle to access this boolean, we never do this directly 
> (this is why the volatile marking does not affect us).
> - We use VarHandle.setVolatile() to change our "invalidated" boolean to 
> "true", so enforcing a full fence
> - On the read side we use VarHandle.getOpaque() instead of VarHandle.get() 
> (like in our old code for Java 8).
> I had to tune our test a bit, as the VarHandles make it take longer until it 
> actually crushes (as optimizations jum

[jira] [Commented] (LUCENE-8780) Improve ByteBufferGuard in Java 11

2019-04-28 Thread Mike Sokolov (JIRA)


[ 
https://issues.apache.org/jira/browse/LUCENE-8780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16828826#comment-16828826
 ] 

Mike Sokolov commented on LUCENE-8780:
--

I don't have a good theory, but I was curious so I ran a few tests, and one 
thing I saw is that if you limit to a single searcher thread, you see only the 
negative side of this distribution, or at least it becomes more negative.

> Improve ByteBufferGuard in Java 11
> --
>
> Key: LUCENE-8780
> URL: https://issues.apache.org/jira/browse/LUCENE-8780
> Project: Lucene - Core
>  Issue Type: Improvement
>  Components: core/store
>Affects Versions: master (9.0)
>Reporter: Uwe Schindler
>Assignee: Uwe Schindler
>Priority: Major
>  Labels: Java11
> Attachments: LUCENE-8780.patch
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> In LUCENE-7409 we added {{ByteBufferGuard}} to protect MMapDirectory from 
> crushing the JVM with SIGSEGV when you close and unmap the mmapped buffers of 
> an IndexInput, while another thread is accessing it.
> The idea was to do a volatile write access to flush the caches (to trigger a 
> full fence) and set a non-volatile boolean to true. All accesses would check 
> the boolean and stop the caller from accessing the underlying ByteBuffer. 
> This worked most of the time, until the JVM optimized away the plain read 
> access to the boolean (you can easily see this after some runtime of our 
> by-default ignored testcase).
> With master on Java 11, we can improve the whole thing. Using VarHandles you 
> can use any access type when reading or writing the boolean. After reading 
> Doug Lea's expanation <http://gee.cs.oswego.edu/dl/html/j9mm.html> and some 
> testing, I was no longer able to crush my JDK (even after running for minutes 
> unmapping bytebuffers).
> The apraoch is the same, we do a full-fenced write (standard volatile write) 
> when we unmap, then we yield the thread (to finish in-flight reads in other 
> threads) and then unmap all byte buffers.
> On the test side (read access), instead of using a plain read, we use the new 
> "opaque read". Opaque reads are the same as plain reads, there are only 
> different order requirements. Actually the main difference is explained by 
> Doug like this: "For example in constructions in which the only modification 
> of some variable x is for one thread to write in Opaque (or stronger) mode, 
> X.setOpaque(this, 1), any other thread spinning in 
> while(X.getOpaque(this)!=1){} will eventually terminate. Note that this 
> guarantee does NOT hold in Plain mode, in which spin loops may (and usually 
> do) infinitely loop -- they are not required to notice that a write ever 
> occurred in another thread if it was not seen on first encounter." - And 
> that's waht we want to have: We don't want to do volatile reads, but we want 
> to prevent the compiler from optimizing away our read to the boolean. So we 
> want it to "eventually" see the change. By the much stronger volatile write, 
> the cache effects should be visible even faster (like in our Java 8 approach, 
> just now we improved our read side).
> The new code is much slimmer (theoretically we could also use a AtomicBoolean 
> for that and use the new method {{getOpaque()}}, but I wanted to prevent 
> extra method calls, so I used a VarHandle directly).
> It's setup like this:
> - The underlying boolean field is a private member (with unused 
> SuppressWarnings, as its unused by the java compiler), marked as volatile 
> (that's the recommendation, but in reality it does not matter at all).
> - We create a VarHandle to access this boolean, we never do this directly 
> (this is why the volatile marking does not affect us).
> - We use VarHandle.setVolatile() to change our "invalidated" boolean to 
> "true", so enforcing a full fence
> - On the read side we use VarHandle.getOpaque() instead of VarHandle.get() 
> (like in our old code for Java 8).
> I had to tune our test a bit, as the VarHandles make it take longer until it 
> actually crushes (as optimizations jump in later). I also used a random for 
> the reads to prevent the optimizer from removing all the bytebuffer reads. 
> When we commit this, we can disable the test again (it takes approx 50 secs 
> on my machine).
> I'd still like to see the differences between the plain read and the opaque 
> read in production, so maybe [~mikemccand] or [~rcmuir] can do a comparison 
> with nightly benchmarker?
> Have fun, maybe [~dweiss] has some ideas, too.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Comment Edited] (LUCENE-8780) Improve ByteBufferGuard in Java 11

2019-04-28 Thread Uwe Schindler (JIRA)
Pct diff
  IntNRQ   30.88  (0.6%)   26.33  (0.8%)  
-14.7% ( -16% -  -13%)
PKLookup  107.70  (2.7%)   94.31  (2.9%)  
-12.4% ( -17% -   -7%)
 AndHighHigh   10.76 (11.5%)   10.17  (3.3%)   
-5.4% ( -18% -   10%)
  Fuzzy2   45.10  (7.7%)   43.21  (9.0%)   
-4.2% ( -19% -   13%)
 LowSloppyPhrase7.28 (16.8%)6.98  (6.3%)   
-4.2% ( -23% -   22%)
OrHighNotLow  783.24  (7.1%)  751.37  (2.5%)   
-4.1% ( -12% -5%)
   OrHighNotHigh  934.39  (6.5%)  896.38  (2.1%)   
-4.1% ( -11% -4%)
 Respell   45.36 (10.6%)   43.65  (7.0%)   
-3.8% ( -19% -   15%)
   OrNotHighHigh  779.95  (3.8%)  752.28  (1.8%)   
-3.5% (  -8% -2%)
HighSloppyPhrase   10.37 (12.8%)   10.03  (3.5%)   
-3.3% ( -17% -   14%)
   LowPhrase   11.60  (8.9%)   11.23  (1.7%)   
-3.2% ( -12% -8%)
 LowTerm 1694.00  (8.9%) 1642.34  (5.5%)   
-3.0% ( -16% -   12%)
 MedTerm 1292.82  (9.3%) 1253.69  (8.2%)   
-3.0% ( -18% -   15%)
  AndHighMed   71.41  (9.9%)   69.77  (7.5%)   
-2.3% ( -17% -   16%)
OrNotHighMed  634.32  (7.2%)  620.67  (7.5%)   
-2.2% ( -15% -   13%)
 Prefix3  110.65 (14.9%)  108.55  (8.7%)   
-1.9% ( -22% -   25%)
   OrHighLow  347.02  (4.3%)  340.51  (9.9%)   
-1.9% ( -15% -   12%)
OrNotHighLow  591.61  (5.5%)  580.60  (9.0%)   
-1.9% ( -15% -   13%)
OrHighNotMed 1258.21  (1.8%) 1237.28  (5.0%)   
-1.7% (  -8% -5%)
  Fuzzy1   91.79  (4.3%)   90.77 (11.1%)   
-1.1% ( -15% -   14%)
   OrHighMed   10.29  (7.9%)   10.25 (11.8%)   
-0.4% ( -18% -   20%)
Wildcard   52.28  (6.3%)   52.21  (6.8%)   
-0.1% ( -12% -   13%)
  OrHighHigh8.16  (6.9%)8.22  (9.3%)
0.8% ( -14% -   18%)
  AndHighLow  563.89  (9.1%)  569.31 (15.3%)
1.0% ( -21% -   27%)
  HighPhrase   15.88  (9.3%)   16.04 (13.0%)
1.0% ( -19% -   25%)
   MedPhrase   14.84  (9.0%)   15.15 (12.8%)
2.1% ( -18% -   26%)
HighSpanNear2.16  (9.8%)2.21 (10.1%)
2.3% ( -16% -   24%)
 MedSloppyPhrase   18.48 (15.4%)   18.96 (18.9%)
2.6% ( -27% -   43%)
 MedSpanNear   17.75  (3.8%)   18.31 (10.0%)
3.1% ( -10% -   17%)
HighTerm 1031.00  (9.9%) 1068.12 (17.1%)
3.6% ( -21% -   33%)
 LowSpanNear8.22  (5.5%)8.53 (13.3%)
3.7% ( -14% -   23%)
   HighTermDayOfYearSort9.78 (11.0%)   10.25 (18.2%)
4.8% ( -21% -   38%)
   HighTermMonthSort   23.40 (26.5%)   27.11 (32.1%)   
15.9% ( -33% -  101%)
{noformat}

The total runtime of each run did not change, always approx 280s per run 
patched and unpatched. Not sure how to interpret this.

> Improve ByteBufferGuard in Java 11
> --
>
> Key: LUCENE-8780
> URL: https://issues.apache.org/jira/browse/LUCENE-8780
> Project: Lucene - Core
>  Issue Type: Improvement
>  Components: core/store
>Affects Versions: master (9.0)
>Reporter: Uwe Schindler
>Assignee: Uwe Schindler
>Priority: Major
>  Labels: Java11
> Attachments: LUCENE-8780.patch
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> In LUCENE-7409 we added {{ByteBufferGuard}} to protect MMapDirectory from 
> crushing the JVM with SIGSEGV when you close and unmap the mmapped buffers of 
> an IndexInput, while another thread is accessing it.
> The idea was to do a volatile write access to flush the caches (to trigger a 
> full fence) and set a non-volatile boolean to true. All accesses would check 
> the boolean and stop the caller from accessing the underlying ByteBuffer. 
> This worked most of the time, until the JVM optimized away the plain read 
> access to the boolean (you can easily see this after some runtime of our 
> by-default ignored testcase).
> With master on Java 11, we can improve the whole thing. Using VarHandles you 
> can use any access type when reading or writing the boolean. After reading 
> Doug Lea's expanation <http://gee.cs.oswego.edu/dl/html/j9mm.html> and some 
> testing, I was no longer able to crush my JDK (even after running for mi

[jira] [Comment Edited] (LUCENE-8780) Improve ByteBufferGuard in Java 11

2019-04-28 Thread Uwe Schindler (JIRA)
   
Pct diff
  IntNRQ   30.88  (0.6%)   26.33  (0.8%)  
-14.7% ( -16% -  -13%)
PKLookup  107.70  (2.7%)   94.31  (2.9%)  
-12.4% ( -17% -   -7%)
 AndHighHigh   10.76 (11.5%)   10.17  (3.3%)   
-5.4% ( -18% -   10%)
  Fuzzy2   45.10  (7.7%)   43.21  (9.0%)   
-4.2% ( -19% -   13%)
 LowSloppyPhrase7.28 (16.8%)6.98  (6.3%)   
-4.2% ( -23% -   22%)
OrHighNotLow  783.24  (7.1%)  751.37  (2.5%)   
-4.1% ( -12% -5%)
   OrHighNotHigh  934.39  (6.5%)  896.38  (2.1%)   
-4.1% ( -11% -4%)
 Respell   45.36 (10.6%)   43.65  (7.0%)   
-3.8% ( -19% -   15%)
   OrNotHighHigh  779.95  (3.8%)  752.28  (1.8%)   
-3.5% (  -8% -2%)
HighSloppyPhrase   10.37 (12.8%)   10.03  (3.5%)   
-3.3% ( -17% -   14%)
   LowPhrase   11.60  (8.9%)   11.23  (1.7%)   
-3.2% ( -12% -8%)
 LowTerm 1694.00  (8.9%) 1642.34  (5.5%)   
-3.0% ( -16% -   12%)
 MedTerm 1292.82  (9.3%) 1253.69  (8.2%)   
-3.0% ( -18% -   15%)
  AndHighMed   71.41  (9.9%)   69.77  (7.5%)   
-2.3% ( -17% -   16%)
OrNotHighMed  634.32  (7.2%)  620.67  (7.5%)   
-2.2% ( -15% -   13%)
 Prefix3  110.65 (14.9%)  108.55  (8.7%)   
-1.9% ( -22% -   25%)
   OrHighLow  347.02  (4.3%)  340.51  (9.9%)   
-1.9% ( -15% -   12%)
OrNotHighLow  591.61  (5.5%)  580.60  (9.0%)   
-1.9% ( -15% -   13%)
OrHighNotMed 1258.21  (1.8%) 1237.28  (5.0%)   
-1.7% (  -8% -5%)
  Fuzzy1   91.79  (4.3%)   90.77 (11.1%)   
-1.1% ( -15% -   14%)
   OrHighMed   10.29  (7.9%)   10.25 (11.8%)   
-0.4% ( -18% -   20%)
Wildcard   52.28  (6.3%)   52.21  (6.8%)   
-0.1% ( -12% -   13%)
  OrHighHigh8.16  (6.9%)8.22  (9.3%)
0.8% ( -14% -   18%)
  AndHighLow  563.89  (9.1%)  569.31 (15.3%)
1.0% ( -21% -   27%)
  HighPhrase   15.88  (9.3%)   16.04 (13.0%)
1.0% ( -19% -   25%)
   MedPhrase   14.84  (9.0%)   15.15 (12.8%)
2.1% ( -18% -   26%)
HighSpanNear2.16  (9.8%)2.21 (10.1%)
2.3% ( -16% -   24%)
 MedSloppyPhrase   18.48 (15.4%)   18.96 (18.9%)
2.6% ( -27% -   43%)
 MedSpanNear   17.75  (3.8%)   18.31 (10.0%)
3.1% ( -10% -   17%)
HighTerm 1031.00  (9.9%) 1068.12 (17.1%)
3.6% ( -21% -   33%)
 LowSpanNear8.22  (5.5%)8.53 (13.3%)
3.7% ( -14% -   23%)
   HighTermDayOfYearSort9.78 (11.0%)   10.25 (18.2%)
4.8% ( -21% -   38%)
   HighTermMonthSort   23.40 (26.5%)   27.11 (32.1%)   
15.9% ( -33% -  101%)
{noformat}

The total runtime of each run did not change. Not sure how to interpret this.

> Improve ByteBufferGuard in Java 11
> --
>
> Key: LUCENE-8780
> URL: https://issues.apache.org/jira/browse/LUCENE-8780
> Project: Lucene - Core
>  Issue Type: Improvement
>  Components: core/store
>Affects Versions: master (9.0)
>Reporter: Uwe Schindler
>Assignee: Uwe Schindler
>Priority: Major
>  Labels: Java11
> Attachments: LUCENE-8780.patch
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> In LUCENE-7409 we added {{ByteBufferGuard}} to protect MMapDirectory from 
> crushing the JVM with SIGSEGV when you close and unmap the mmapped buffers of 
> an IndexInput, while another thread is accessing it.
> The idea was to do a volatile write access to flush the caches (to trigger a 
> full fence) and set a non-volatile boolean to true. All accesses would check 
> the boolean and stop the caller from accessing the underlying ByteBuffer. 
> This worked most of the time, until the JVM optimized away the plain read 
> access to the boolean (you can easily see this after some runtime of our 
> by-default ignored testcase).
> With master on Java 11, we can improve the whole thing. Using VarHandles you 
> can use any access type when reading or writing the boolean. After reading 
> Doug Lea's expanation <http://gee.cs.oswego.edu/dl/html/j9mm.html> and some 
> testing, I was no longer able to crush my JDK (even after running for minutes 
> unmapping bytebuffers).
> The apraoch is the sa

[jira] [Commented] (LUCENE-8780) Improve ByteBufferGuard in Java 11

2019-04-28 Thread Uwe Schindler (JIRA)


[ 
https://issues.apache.org/jira/browse/LUCENE-8780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16828039#comment-16828039
 ] 

Uwe Schindler commented on LUCENE-8780:
---

Thats the result after 20 runs with 6 searcher threads (with ParallelGC) on 
Mike's lucenebench:

{noformat}
use java command /home/jenkins/tools/java/64bit/jdk-11.0.2/bin/java -server 
-Xms2g -Xmx2g -XX:+UseParallelGC -Xbatch

JAVA:
openjdk version "11.0.2" 2019-01-15
OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)

OS:
Linux serv1.sd-datasolutions.de 4.18.0-17-generic #18~18.04.1-Ubuntu SMP Fri 
Mar 15 15:27:12 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

[...]

Report after iter 19:
TaskQPS orig  StdDev   QPS patch  StdDev
Pct diff
  IntNRQ   30.88  (0.6%)   26.33  (0.8%)  
-14.7% ( -16% -  -13%)
PKLookup  107.70  (2.7%)   94.31  (2.9%)  
-12.4% ( -17% -   -7%)
 AndHighHigh   10.76 (11.5%)   10.17  (3.3%)   
-5.4% ( -18% -   10%)
  Fuzzy2   45.10  (7.7%)   43.21  (9.0%)   
-4.2% ( -19% -   13%)
 LowSloppyPhrase7.28 (16.8%)6.98  (6.3%)   
-4.2% ( -23% -   22%)
OrHighNotLow  783.24  (7.1%)  751.37  (2.5%)   
-4.1% ( -12% -5%)
   OrHighNotHigh  934.39  (6.5%)  896.38  (2.1%)   
-4.1% ( -11% -4%)
 Respell   45.36 (10.6%)   43.65  (7.0%)   
-3.8% ( -19% -   15%)
   OrNotHighHigh  779.95  (3.8%)  752.28  (1.8%)   
-3.5% (  -8% -2%)
HighSloppyPhrase   10.37 (12.8%)   10.03  (3.5%)   
-3.3% ( -17% -   14%)
   LowPhrase   11.60  (8.9%)   11.23  (1.7%)   
-3.2% ( -12% -8%)
 LowTerm 1694.00  (8.9%) 1642.34  (5.5%)   
-3.0% ( -16% -   12%)
 MedTerm 1292.82  (9.3%) 1253.69  (8.2%)   
-3.0% ( -18% -   15%)
  AndHighMed   71.41  (9.9%)   69.77  (7.5%)   
-2.3% ( -17% -   16%)
OrNotHighMed  634.32  (7.2%)  620.67  (7.5%)   
-2.2% ( -15% -   13%)
 Prefix3  110.65 (14.9%)  108.55  (8.7%)   
-1.9% ( -22% -   25%)
   OrHighLow  347.02  (4.3%)  340.51  (9.9%)   
-1.9% ( -15% -   12%)
OrNotHighLow  591.61  (5.5%)  580.60  (9.0%)   
-1.9% ( -15% -   13%)
OrHighNotMed 1258.21  (1.8%) 1237.28  (5.0%)   
-1.7% (  -8% -5%)
  Fuzzy1   91.79  (4.3%)   90.77 (11.1%)   
-1.1% ( -15% -   14%)
   OrHighMed   10.29  (7.9%)   10.25 (11.8%)   
-0.4% ( -18% -   20%)
Wildcard   52.28  (6.3%)   52.21  (6.8%)   
-0.1% ( -12% -   13%)
  OrHighHigh8.16  (6.9%)8.22  (9.3%)
0.8% ( -14% -   18%)
  AndHighLow  563.89  (9.1%)  569.31 (15.3%)
1.0% ( -21% -   27%)
  HighPhrase   15.88  (9.3%)   16.04 (13.0%)
1.0% ( -19% -   25%)
   MedPhrase   14.84  (9.0%)   15.15 (12.8%)
2.1% ( -18% -   26%)
HighSpanNear2.16  (9.8%)2.21 (10.1%)
2.3% ( -16% -   24%)
 MedSloppyPhrase   18.48 (15.4%)   18.96 (18.9%)
2.6% ( -27% -   43%)
 MedSpanNear   17.75  (3.8%)   18.31 (10.0%)
3.1% ( -10% -   17%)
HighTerm 1031.00  (9.9%) 1068.12 (17.1%)
3.6% ( -21% -   33%)
 LowSpanNear8.22  (5.5%)8.53 (13.3%)
3.7% ( -14% -   23%)
   HighTermDayOfYearSort9.78 (11.0%)   10.25 (18.2%)
4.8% ( -21% -   38%)
   HighTermMonthSort   23.40 (26.5%)   27.11 (32.1%)   
15.9% ( -33% -  101%)
{noformat}

The total runtime of each run did not change. Not sure how to interpret this.

> Improve ByteBufferGuard in Java 11
> --
>
> Key: LUCENE-8780
> URL: https://issues.apache.org/jira/browse/LUCENE-8780
> Project: Lucene - Core
>  Issue Type: Improvement
>  Components: core/store
>Affects Versions: master (9.0)
>Reporter: Uwe Schindler
>Assignee: Uwe Schindler
>Priority: Major
>  Labels: Java11
> Attachments: LUCENE-8780.patch
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> In LUCENE-7409 we added {{ByteBufferGuard}} to protect MMapDirectory from 
> crushing the JVM with SIGSEGV when you close and unmap the mmapped buffers

[GitHub] [lucene-solr] uschindler opened a new pull request #658: LUCENE-8780: Improve ByteBufferGuard with Java 11 VarHandles and new …

2019-04-28 Thread GitBox
uschindler opened a new pull request #658: LUCENE-8780: Improve ByteBufferGuard 
with Java 11 VarHandles and new …
URL: https://github.com/apache/lucene-solr/pull/658
 
 
   …memory model


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[jira] [Commented] (LUCENE-8780) Improve ByteBufferGuard in Java 11

2019-04-28 Thread Uwe Schindler (JIRA)


[ 
https://issues.apache.org/jira/browse/LUCENE-8780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16827872#comment-16827872
 ] 

Uwe Schindler commented on LUCENE-8780:
---

I created a pull request for easier review and perf testing (easy chackout of 
branch from my github repo): https://github.com/apache/lucene-solr/pull/658

> Improve ByteBufferGuard in Java 11
> --
>
> Key: LUCENE-8780
> URL: https://issues.apache.org/jira/browse/LUCENE-8780
> Project: Lucene - Core
>  Issue Type: Improvement
>  Components: core/store
>Affects Versions: master (9.0)
>Reporter: Uwe Schindler
>Assignee: Uwe Schindler
>Priority: Major
>  Labels: Java11
> Attachments: LUCENE-8780.patch
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> In LUCENE-7409 we added {{ByteBufferGuard}} to protect MMapDirectory from 
> crushing the JVM with SIGSEGV when you close and unmap the mmapped buffers of 
> an IndexInput, while another thread is accessing it.
> The idea was to do a volatile write access to flush the caches (to trigger a 
> full fence) and set a non-volatile boolean to true. All accesses would check 
> the boolean and stop the caller from accessing the underlying ByteBuffer. 
> This worked most of the time, until the JVM optimized away the plain read 
> access to the boolean (you can easily see this after some runtime of our 
> by-default ignored testcase).
> With master on Java 11, we can improve the whole thing. Using VarHandles you 
> can use any access type when reading or writing the boolean. After reading 
> Doug Lea's expanation <http://gee.cs.oswego.edu/dl/html/j9mm.html> and some 
> testing, I was no longer able to crush my JDK (even after running for minutes 
> unmapping bytebuffers).
> The apraoch is the same, we do a full-fenced write (standard volatile write) 
> when we unmap, then we yield the thread (to finish in-flight reads in other 
> threads) and then unmap all byte buffers.
> On the test side (read access), instead of using a plain read, we use the new 
> "opaque read". Opaque reads are the same as plain reads, there are only 
> different order requirements. Actually the main difference is explained by 
> Doug like this: "For example in constructions in which the only modification 
> of some variable x is for one thread to write in Opaque (or stronger) mode, 
> X.setOpaque(this, 1), any other thread spinning in 
> while(X.getOpaque(this)!=1){} will eventually terminate. Note that this 
> guarantee does NOT hold in Plain mode, in which spin loops may (and usually 
> do) infinitely loop -- they are not required to notice that a write ever 
> occurred in another thread if it was not seen on first encounter." - And 
> that's waht we want to have: We don't want to do volatile reads, but we want 
> to prevent the compiler from optimizing away our read to the boolean. So we 
> want it to "eventually" see the change. By the much stronger volatile write, 
> the cache effects should be visible even faster (like in our Java 8 approach, 
> just now we improved our read side).
> The new code is much slimmer (theoretically we could also use a AtomicBoolean 
> for that and use the new method {{getOpaque()}}, but I wanted to prevent 
> extra method calls, so I used a VarHandle directly).
> It's setup like this:
> - The underlying boolean field is a private member (with unused 
> SuppressWarnings, as its unused by the java compiler), marked as volatile 
> (that's the recommendation, but in reality it does not matter at all).
> - We create a VarHandle to access this boolean, we never do this directly 
> (this is why the volatile marking does not affect us).
> - We use VarHandle.setVolatile() to change our "invalidated" boolean to 
> "true", so enforcing a full fence
> - On the read side we use VarHandle.getOpaque() instead of VarHandle.get() 
> (like in our old code for Java 8).
> I had to tune our test a bit, as the VarHandles make it take longer until it 
> actually crushes (as optimizations jump in later). I also used a random for 
> the reads to prevent the optimizer from removing all the bytebuffer reads. 
> When we commit this, we can disable the test again (it takes approx 50 secs 
> on my machine).
> I'd still like to see the differences between the plain read and the opaque 
> read in production, so maybe [~mikemccand] or [~rcmuir] can do a comparison 
> with nightly benchmarker?
> Have fun, maybe [~dweiss] has some ideas, too.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Updated] (LUCENE-8780) Improve ByteBufferGuard in Java 11

2019-04-27 Thread Uwe Schindler (JIRA)


 [ 
https://issues.apache.org/jira/browse/LUCENE-8780?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Uwe Schindler updated LUCENE-8780:
--
Labels: Java11  (was: )

> Improve ByteBufferGuard in Java 11
> --
>
> Key: LUCENE-8780
> URL: https://issues.apache.org/jira/browse/LUCENE-8780
> Project: Lucene - Core
>  Issue Type: Improvement
>  Components: core/store
>Affects Versions: master (9.0)
>Reporter: Uwe Schindler
>Assignee: Uwe Schindler
>Priority: Major
>  Labels: Java11
> Attachments: LUCENE-8780.patch
>
>
> In LUCENE-7409 we added {{ByteBufferGuard}} to protect MMapDirectory from 
> crushing the JVM with SIGSEGV when you close and unmap the mmapped buffers of 
> an IndexInput, while another thread is accessing it.
> The idea was to do a volatile write access to flush the caches (to trigger a 
> full fence) and set a non-volatile boolean to true. All accesses would check 
> the boolean and stop the caller from accessing the underlying ByteBuffer. 
> This worked most of the time, until the JVM optimized away the plain read 
> access to the boolean (you can easily see this after some runtime of our 
> by-default ignored testcase).
> With master on Java 11, we can improve the whole thing. Using VarHandles you 
> can use any access type when reading or writing the boolean. After reading 
> Doug Lea's expanation <http://gee.cs.oswego.edu/dl/html/j9mm.html> and some 
> testing, I was no longer able to crush my JDK (even after running for minutes 
> unmapping bytebuffers).
> The apraoch is the same, we do a full-fenced write (standard volatile write) 
> when we unmap, then we yield the thread (to finish in-flight reads in other 
> threads) and then unmap all byte buffers.
> On the test side (read access), instead of using a plain read, we use the new 
> "opaque read". Opaque reads are the same as plain reads, there are only 
> different order requirements. Actually the main difference is explained by 
> Doug like this: "For example in constructions in which the only modification 
> of some variable x is for one thread to write in Opaque (or stronger) mode, 
> X.setOpaque(this, 1), any other thread spinning in 
> while(X.getOpaque(this)!=1){} will eventually terminate. Note that this 
> guarantee does NOT hold in Plain mode, in which spin loops may (and usually 
> do) infinitely loop -- they are not required to notice that a write ever 
> occurred in another thread if it was not seen on first encounter." - And 
> that's waht we want to have: We don't want to do volatile reads, but we want 
> to prevent the compiler from optimizing away our read to the boolean. So we 
> want it to "eventually" see the change. By the much stronger volatile write, 
> the cache effects should be visible even faster (like in our Java 8 approach, 
> just now we improved our read side).
> The new code is much slimmer (theoretically we could also use a AtomicBoolean 
> for that and use the new method {{getOpaque()}}, but I wanted to prevent 
> extra method calls, so I used a VarHandle directly).
> It's setup like this:
> - The underlying boolean field is a private member (with unused 
> SuppressWarnings, as its unused by the java compiler), marked as volatile 
> (that's the recommendation, but in reality it does not matter at all).
> - We create a VarHandle to access this boolean, we never do this directly 
> (this is why the volatile marking does not affect us).
> - We use VarHandle.setVolatile() to change our "invalidated" boolean to 
> "true", so enforcing a full fence
> - On the read side we use VarHandle.getOpaque() instead of VarHandle.get() 
> (like in our old code for Java 8).
> I had to tune our test a bit, as the VarHandles make it take longer until it 
> actually crushes (as optimizations jump in later). I also used a random for 
> the reads to prevent the optimizer from removing all the bytebuffer reads. 
> When we commit this, we can disable the test again (it takes approx 50 secs 
> on my machine).
> I'd still like to see the differences between the plain read and the opaque 
> read in production, so maybe [~mikemccand] or [~rcmuir] can do a comparison 
> with nightly benchmarker?
> Have fun, maybe [~dweiss] has some ideas, too.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Updated] (LUCENE-8780) Improve ByteBufferGuard in Java 11

2019-04-27 Thread Uwe Schindler (JIRA)


 [ 
https://issues.apache.org/jira/browse/LUCENE-8780?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Uwe Schindler updated LUCENE-8780:
--
Description: 
In LUCENE-7409 we added {{ByteBufferGuard}} to protect MMapDirectory from 
crushing the JVM with SIGSEGV when you close and unmap the mmapped buffers of 
an IndexInput, while another thread is accessing it.

The idea was to do a volatile write access to flush the caches (to trigger a 
full fence) and set a non-volatile boolean to true. All accesses would check 
the boolean and stop the caller from accessing the underlying ByteBuffer. This 
worked most of the time, until the JVM optimized away the plain read access to 
the boolean (you can easily see this after some runtime of our by-default 
ignored testcase).

With master on Java 11, we can improve the whole thing. Using VarHandles you 
can use any access type when reading or writing the boolean. After reading Doug 
Lea's expanation <http://gee.cs.oswego.edu/dl/html/j9mm.html> and some testing, 
I was no longer able to crush my JDK (even after running for minutes unmapping 
bytebuffers).

The apraoch is the same, we do a full-fenced write (standard volatile write) 
when we unmap, then we yield the thread (to finish in-flight reads in other 
threads) and then unmap all byte buffers.

On the test side (read access), instead of using a plain read, we use the new 
"opaque read". Opaque reads are the same as plain reads, there are only 
different order requirements. Actually the main difference is explained by Doug 
like this: "For example in constructions in which the only modification of some 
variable x is for one thread to write in Opaque (or stronger) mode, 
X.setOpaque(this, 1), any other thread spinning in 
while(X.getOpaque(this)!=1){} will eventually terminate. Note that this 
guarantee does NOT hold in Plain mode, in which spin loops may (and usually do) 
infinitely loop -- they are not required to notice that a write ever occurred 
in another thread if it was not seen on first encounter." - And that's waht we 
want to have: We don't want to do volatile reads, but we want to prevent the 
compiler from optimizing away our read to the boolean. So we want it to 
"eventually" see the change. By the much stronger volatile write, the cache 
effects should be visible even faster (like in our Java 8 approach, just now we 
improved our read side).

The new code is much slimmer (theoretically we could also use a AtomicBoolean 
for that and use the new method {{getOpaque()}}, but I wanted to prevent extra 
method calls, so I used a VarHandle directly).

It's setup like this:
- The underlying boolean field is a private member (with unused 
SuppressWarnings, as its unused by the java compiler), marked as volatile 
(that's the recommendation, but in reality it does not matter at all).
- We create a VarHandle to access this boolean, we never do this directly (this 
is why the volatile marking does not affect us).
- We use VarHandle.setVolatile() to change our "invalidated" boolean to "true", 
so enforcing a full fence
- On the read side we use VarHandle.getOpaque() instead of VarHandle.get() 
(like in our old code for Java 8).

I had to tune our test a bit, as the VarHandles make it take longer until it 
actually crushes (as optimizations jump in later). I also used a random for the 
reads to prevent the optimizer from removing all the bytebuffer reads. When we 
commit this, we can disable the test again (it takes approx 50 secs on my 
machine).

I'd still like to see the differences between the plain read and the opaque 
read in production, so maybe [~mikemccand] or [~rcmuir] can do a comparison 
with nightly benchmarker?

Have fun, maybe [~dweiss] has some ideas, too.

  was:
In LUCENE-7409 we added {{ByteBufferGuard}} to protect MMapDirectory from 
crushing the JVM with SIGSEGV when you close and unmap the mmapped buffers of 
an IndexInput, while another thread is accessing it.

The idea was to do a volatile write access to flush the caches (to trigger a 
full fence) and set a non-volatile boolean to true. All accesses would check 
the boolean and stop the caller from accessing the underlying ByteBuffer. This 
worked most of the time, until the JVM optimized away the plain read access to 
the boolean (you can easily see this after some runtime of our by-default 
ignored testcase).

With master on Java 11, we can improve the whole thing. Using VarHandles you 
can use any access type when reading or writing the boolean. After reading Doug 
Lea's expanation <http://gee.cs.oswego.edu/dl/html/j9mm.html> and some testing, 
I was no longer able to crush my JDK (even after running for minutes unmapping 
bytebuffers).

The apraoch is the same, we do a full-fenced write (standard volatile write) 
when we unmap, then we yield the thread (to finish in-flight reads in other 
threads) and then un

[jira] [Updated] (LUCENE-8780) Improve ByteBufferGuard in Java 11

2019-04-27 Thread Uwe Schindler (JIRA)


 [ 
https://issues.apache.org/jira/browse/LUCENE-8780?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Uwe Schindler updated LUCENE-8780:
--
Attachment: LUCENE-8780.patch

> Improve ByteBufferGuard in Java 11
> --
>
> Key: LUCENE-8780
> URL: https://issues.apache.org/jira/browse/LUCENE-8780
> Project: Lucene - Core
>  Issue Type: Improvement
>  Components: core/store
>Affects Versions: master (9.0)
>Reporter: Uwe Schindler
>Assignee: Uwe Schindler
>Priority: Major
> Attachments: LUCENE-8780.patch
>
>
> In LUCENE-7409 we added {{ByteBufferGuard}} to protect MMapDirectory from 
> crushing the JVM with SIGSEGV when you close and unmap the mmapped buffers of 
> an IndexInput, while another thread is accessing it.
> The idea was to do a volatile write access to flush the caches (to trigger a 
> full fence) and set a non-volatile boolean to true. All accesses would check 
> the boolean and stop the caller from accessing the underlying ByteBuffer. 
> This worked most of the time, until the JVM optimized away the plain read 
> access to the boolean (you can easily see this after some runtime of our 
> by-default ignored testcase).
> With master on Java 11, we can improve the whole thing. Using VarHandles you 
> can use any access type when reading or writing the boolean. After reading 
> Doug Lea's expanation and some testing, I was no longer able to crush my JDK 
> (even after running for minutes unmapping bytebuffers).
> The apraoch is the same, we do a full-fenced write (standard volatile write) 
> when we unmap, then we yield the thread (to finish in-flight reads in other 
> threads) and then unmap all byte buffers.
> On the test side (read access), instead of using a plain read, we use the new 
> "opaque read". Opaque reads are the same as plain reads, there are only 
> different order requirements. Actually the main difference is explained by 
> Doug like this: "For example in constructions in which the only modification 
> of some variable x is for one thread to write in Opaque (or stronger) mode, 
> X.setOpaque(this, 1), any other thread spinning in 
> while(X.getOpaque(this)!=1){} will eventually terminate. Note that this 
> guarantee does NOT hold in Plain mode, in which spin loops may (and usually 
> do) infinitely loop -- they are not required to notice that a write ever 
> occurred in another thread if it was not seen on first encounter." - And 
> that's waht we want to have: We don't want to do volatile reads, but we want 
> to prevent the compiler from optimizing away our read to the boolean. So we 
> want it to "eventually" see the change. By the much stronger volatile write, 
> the cache effects should be visible even faster (like in our Java 8 approach, 
> jsut now we improved our read side).
> The new code is much slimmer (theoretically we could also use a AtomicBoolean 
> for that and use the new method {{getOpaque()}}, but I wanted to prevent 
> extra metod calls, so I used a VarHandle directly.
> It's setup like this:
> - The underlying boolean is a private member (with unused suppress wanrings, 
> as its unused by the java compiler), marked as volatile (that's the 
> recommendation, but in reality it does not matter at all).
> - We create a VarHandle to access this boolean, we never do this directly 
> (this is why the volatile marking does not affect us).
> - We use VarHandle.setVolatile() to change out "invalidated" boolean to 
> "true", so enforcing a full fence
> - On the read side we use VarHandle.getOpaque() instead of VarHandle.get() 
> (as it would be the effect of our old code in Java 8).
> I had to tune our test a bit, as the VarHandles make it take longer until it 
> actually crushes (as optimizations jump in later). I also used a random for 
> the reads to prevent the optimizer from removing all the bytebuffer reads. 
> When we commit this, we can disable the test again (it takes approx 50 secs 
> on my machine).
> I'd still like to see the differences between the plain read and the opaque 
> read in production, so maybe [~mikemccand] or [~rcmuir] can do a comparison 
> with nightly benchmarker?
> Have fun, maybe [~dweiss] has some ideas, too.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Updated] (LUCENE-8780) Improve ByteBufferGuard in Java 11

2019-04-27 Thread Uwe Schindler (JIRA)


 [ 
https://issues.apache.org/jira/browse/LUCENE-8780?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Uwe Schindler updated LUCENE-8780:
--
Description: 
In LUCENE-7409 we added {{ByteBufferGuard}} to protect MMapDirectory from 
crushing the JVM with SIGSEGV when you close and unmap the mmapped buffers of 
an IndexInput, while another thread is accessing it.

The idea was to do a volatile write access to flush the caches (to trigger a 
full fence) and set a non-volatile boolean to true. All accesses would check 
the boolean and stop the caller from accessing the underlying ByteBuffer. This 
worked most of the time, until the JVM optimized away the plain read access to 
the boolean (you can easily see this after some runtime of our by-default 
ignored testcase).

With master on Java 11, we can improve the whole thing. Using VarHandles you 
can use any access type when reading or writing the boolean. After reading Doug 
Lea's expanation <http://gee.cs.oswego.edu/dl/html/j9mm.html> and some testing, 
I was no longer able to crush my JDK (even after running for minutes unmapping 
bytebuffers).

The apraoch is the same, we do a full-fenced write (standard volatile write) 
when we unmap, then we yield the thread (to finish in-flight reads in other 
threads) and then unmap all byte buffers.

On the test side (read access), instead of using a plain read, we use the new 
"opaque read". Opaque reads are the same as plain reads, there are only 
different order requirements. Actually the main difference is explained by Doug 
like this: "For example in constructions in which the only modification of some 
variable x is for one thread to write in Opaque (or stronger) mode, 
X.setOpaque(this, 1), any other thread spinning in 
while(X.getOpaque(this)!=1){} will eventually terminate. Note that this 
guarantee does NOT hold in Plain mode, in which spin loops may (and usually do) 
infinitely loop -- they are not required to notice that a write ever occurred 
in another thread if it was not seen on first encounter." - And that's waht we 
want to have: We don't want to do volatile reads, but we want to prevent the 
compiler from optimizing away our read to the boolean. So we want it to 
"eventually" see the change. By the much stronger volatile write, the cache 
effects should be visible even faster (like in our Java 8 approach, jsut now we 
improved our read side).

The new code is much slimmer (theoretically we could also use a AtomicBoolean 
for that and use the new method {{getOpaque()}}, but I wanted to prevent extra 
metod calls, so I used a VarHandle directly.

It's setup like this:
- The underlying boolean is a private member (with unused suppress wanrings, as 
its unused by the java compiler), marked as volatile (that's the 
recommendation, but in reality it does not matter at all).
- We create a VarHandle to access this boolean, we never do this directly (this 
is why the volatile marking does not affect us).
- We use VarHandle.setVolatile() to change out "invalidated" boolean to "true", 
so enforcing a full fence
- On the read side we use VarHandle.getOpaque() instead of VarHandle.get() (as 
it would be the effect of our old code in Java 8).

I had to tune our test a bit, as the VarHandles make it take longer until it 
actually crushes (as optimizations jump in later). I also used a random for the 
reads to prevent the optimizer from removing all the bytebuffer reads. When we 
commit this, we can disable the test again (it takes approx 50 secs on my 
machine).

I'd still like to see the differences between the plain read and the opaque 
read in production, so maybe [~mikemccand] or [~rcmuir] can do a comparison 
with nightly benchmarker?

Have fun, maybe [~dweiss] has some ideas, too.

  was:
In LUCENE-7409 we added {{ByteBufferGuard}} to protect MMapDirectory from 
crushing the JVM with SIGSEGV when you close and unmap the mmapped buffers of 
an IndexInput, while another thread is accessing it.

The idea was to do a volatile write access to flush the caches (to trigger a 
full fence) and set a non-volatile boolean to true. All accesses would check 
the boolean and stop the caller from accessing the underlying ByteBuffer. This 
worked most of the time, until the JVM optimized away the plain read access to 
the boolean (you can easily see this after some runtime of our by-default 
ignored testcase).

With master on Java 11, we can improve the whole thing. Using VarHandles you 
can use any access type when reading or writing the boolean. After reading Doug 
Lea's expanation and some testing, I was no longer able to crush my JDK (even 
after running for minutes unmapping bytebuffers).

The apraoch is the same, we do a full-fenced write (standard volatile write) 
when we unmap, then we yield the thread (to finish in-flight reads in other 
threads) and then unmap all byte buffers.

On the test s

[jira] [Commented] (LUCENE-8780) Improve ByteBufferGuard in Java 11

2019-04-27 Thread Uwe Schindler (JIRA)


[ 
https://issues.apache.org/jira/browse/LUCENE-8780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16827607#comment-16827607
 ] 

Uwe Schindler commented on LUCENE-8780:
---

Patch: [^LUCENE-8780.patch] 

> Improve ByteBufferGuard in Java 11
> --
>
> Key: LUCENE-8780
> URL: https://issues.apache.org/jira/browse/LUCENE-8780
> Project: Lucene - Core
>  Issue Type: Improvement
>  Components: core/store
>Affects Versions: master (9.0)
>Reporter: Uwe Schindler
>Assignee: Uwe Schindler
>Priority: Major
> Attachments: LUCENE-8780.patch
>
>
> In LUCENE-7409 we added {{ByteBufferGuard}} to protect MMapDirectory from 
> crushing the JVM with SIGSEGV when you close and unmap the mmapped buffers of 
> an IndexInput, while another thread is accessing it.
> The idea was to do a volatile write access to flush the caches (to trigger a 
> full fence) and set a non-volatile boolean to true. All accesses would check 
> the boolean and stop the caller from accessing the underlying ByteBuffer. 
> This worked most of the time, until the JVM optimized away the plain read 
> access to the boolean (you can easily see this after some runtime of our 
> by-default ignored testcase).
> With master on Java 11, we can improve the whole thing. Using VarHandles you 
> can use any access type when reading or writing the boolean. After reading 
> Doug Lea's expanation and some testing, I was no longer able to crush my JDK 
> (even after running for minutes unmapping bytebuffers).
> The apraoch is the same, we do a full-fenced write (standard volatile write) 
> when we unmap, then we yield the thread (to finish in-flight reads in other 
> threads) and then unmap all byte buffers.
> On the test side (read access), instead of using a plain read, we use the new 
> "opaque read". Opaque reads are the same as plain reads, there are only 
> different order requirements. Actually the main difference is explained by 
> Doug like this: "For example in constructions in which the only modification 
> of some variable x is for one thread to write in Opaque (or stronger) mode, 
> X.setOpaque(this, 1), any other thread spinning in 
> while(X.getOpaque(this)!=1){} will eventually terminate. Note that this 
> guarantee does NOT hold in Plain mode, in which spin loops may (and usually 
> do) infinitely loop -- they are not required to notice that a write ever 
> occurred in another thread if it was not seen on first encounter." - And 
> that's waht we want to have: We don't want to do volatile reads, but we want 
> to prevent the compiler from optimizing away our read to the boolean. So we 
> want it to "eventually" see the change. By the much stronger volatile write, 
> the cache effects should be visible even faster (like in our Java 8 approach, 
> jsut now we improved our read side).
> The new code is much slimmer (theoretically we could also use a AtomicBoolean 
> for that and use the new method {{getOpaque()}}, but I wanted to prevent 
> extra metod calls, so I used a VarHandle directly.
> It's setup like this:
> - The underlying boolean is a private member (with unused suppress wanrings, 
> as its unused by the java compiler), marked as volatile (that's the 
> recommendation, but in reality it does not matter at all).
> - We create a VarHandle to access this boolean, we never do this directly 
> (this is why the volatile marking does not affect us).
> - We use VarHandle.setVolatile() to change out "invalidated" boolean to 
> "true", so enforcing a full fence
> - On the read side we use VarHandle.getOpaque() instead of VarHandle.get() 
> (as it would be the effect of our old code in Java 8).
> I had to tune our test a bit, as the VarHandles make it take longer until it 
> actually crushes (as optimizations jump in later). I also used a random for 
> the reads to prevent the optimizer from removing all the bytebuffer reads. 
> When we commit this, we can disable the test again (it takes approx 50 secs 
> on my machine).
> I'd still like to see the differences between the plain read and the opaque 
> read in production, so maybe [~mikemccand] or [~rcmuir] can do a comparison 
> with nightly benchmarker?
> Have fun, maybe [~dweiss] has some ideas, too.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Created] (LUCENE-8780) Improve ByteBufferGuard in Java 11

2019-04-27 Thread Uwe Schindler (JIRA)
Uwe Schindler created LUCENE-8780:
-

 Summary: Improve ByteBufferGuard in Java 11
 Key: LUCENE-8780
 URL: https://issues.apache.org/jira/browse/LUCENE-8780
 Project: Lucene - Core
  Issue Type: Improvement
  Components: core/store
Affects Versions: master (9.0)
Reporter: Uwe Schindler
Assignee: Uwe Schindler


In LUCENE-7409 we added {{ByteBufferGuard}} to protect MMapDirectory from 
crushing the JVM with SIGSEGV when you close and unmap the mmapped buffers of 
an IndexInput, while another thread is accessing it.

The idea was to do a volatile write access to flush the caches (to trigger a 
full fence) and set a non-volatile boolean to true. All accesses would check 
the boolean and stop the caller from accessing the underlying ByteBuffer. This 
worked most of the time, until the JVM optimized away the plain read access to 
the boolean (you can easily see this after some runtime of our by-default 
ignored testcase).

With master on Java 11, we can improve the whole thing. Using VarHandles you 
can use any access type when reading or writing the boolean. After reading Doug 
Lea's expanation and some testing, I was no longer able to crush my JDK (even 
after running for minutes unmapping bytebuffers).

The apraoch is the same, we do a full-fenced write (standard volatile write) 
when we unmap, then we yield the thread (to finish in-flight reads in other 
threads) and then unmap all byte buffers.

On the test side (read access), instead of using a plain read, we use the new 
"opaque read". Opaque reads are the same as plain reads, there are only 
different order requirements. Actually the main difference is explained by Doug 
like this: "For example in constructions in which the only modification of some 
variable x is for one thread to write in Opaque (or stronger) mode, 
X.setOpaque(this, 1), any other thread spinning in 
while(X.getOpaque(this)!=1){} will eventually terminate. Note that this 
guarantee does NOT hold in Plain mode, in which spin loops may (and usually do) 
infinitely loop -- they are not required to notice that a write ever occurred 
in another thread if it was not seen on first encounter." - And that's waht we 
want to have: We don't want to do volatile reads, but we want to prevent the 
compiler from optimizing away our read to the boolean. So we want it to 
"eventually" see the change. By the much stronger volatile write, the cache 
effects should be visible even faster (like in our Java 8 approach, jsut now we 
improved our read side).

The new code is much slimmer (theoretically we could also use a AtomicBoolean 
for that and use the new method {{getOpaque()}}, but I wanted to prevent extra 
metod calls, so I used a VarHandle directly.

It's setup like this:
- The underlying boolean is a private member (with unused suppress wanrings, as 
its unused by the java compiler), marked as volatile (that's the 
recommendation, but in reality it does not matter at all).
- We create a VarHandle to access this boolean, we never do this directly (this 
is why the volatile marking does not affect us).
- We use VarHandle.setVolatile() to change out "invalidated" boolean to "true", 
so enforcing a full fence
- On the read side we use VarHandle.getOpaque() instead of VarHandle.get() (as 
it would be the effect of our old code in Java 8).

I had to tune our test a bit, as the VarHandles make it take longer until it 
actually crushes (as optimizations jump in later). I also used a random for the 
reads to prevent the optimizer from removing all the bytebuffer reads. When we 
commit this, we can disable the test again (it takes approx 50 secs on my 
machine).

I'd still like to see the differences between the plain read and the opaque 
read in production, so maybe [~mikemccand] or [~rcmuir] can do a comparison 
with nightly benchmarker?

Have fun, maybe [~dweiss] has some ideas, too.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Commented] (SOLR-11579) Building Solr (master) using Java 11 with Maven has some old plugins

2019-04-25 Thread Daniel Collins (JIRA)


[ 
https://issues.apache.org/jira/browse/SOLR-11579?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16825819#comment-16825819
 ] 

Daniel Collins commented on SOLR-11579:
---

The only remaining item here is patching the last few Maven modules 
(maven-surefire-plugin, and maven-bundle-plugin), and switching gmaven plugin 
to groovy-maven-plugin.  Other than that, all the old issues are now resolved.

[~erickerickson] should I just withdraw this and create a new one with the 
small patch (this ticket has kind of gone full circle!) or should we still keep 
it as part of this?

> Building Solr (master) using Java 11 with Maven has some old plugins
> 
>
> Key: SOLR-11579
> URL: https://issues.apache.org/jira/browse/SOLR-11579
> Project: Solr
>  Issue Type: New Feature
>  Security Level: Public(Default Security Level. Issues are Public) 
>  Components: Build
>Affects Versions: 8.0
> Environment: Apache Maven 3.6.0 
> (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-24T19:41:47+01:00)
> Maven home: C:\Users\CollinsDaniel\Utils\apache-maven-3.6.0\bin\..
> Java version: 11.0.2, vendor: Oracle Corporation, runtime: 
> C:\Users\CollinsDaniel\Utils\jdk-11.0.2
> Default locale: en_GB, platform encoding: Cp1252
> OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
> openjdk version "11.0.2" 2019-01-15
> OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
> OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)
>Reporter: Daniel Collins
>Priority: Minor
>  Labels: maven, maven-enforcer-plugin
> Attachments: SOLR-11579.patch
>
>
> I'm calling this minor as I don't believe we officially support Java 11 (but 
> correct me if I'm wrong), and I've only tried on master
> Several issues/notes:
>  # -enforcer plugin breaks if you try to do mvn install-
>  # -javadoc plugin breaks if you try to do mvn javadoc:jar (on Windows)-
>  # warnings from groovy-maven-plugin (TODO)
>  # -a lot of the maven plugins are quite old-
>  # forbiddenapis has some issues with Solr (I assume due to module split-up, 
> javax is no longer part of core) (TODO)
> There is a patch for 3 now



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Updated] (SOLR-11579) Building Solr (master) using Java 11 and Maven has some issues

2019-04-25 Thread Daniel Collins (JIRA)


 [ 
https://issues.apache.org/jira/browse/SOLR-11579?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Collins updated SOLR-11579:
--
Attachment: (was: SOLR-11579_4)

> Building Solr (master) using Java 11 and Maven has some issues
> --
>
> Key: SOLR-11579
> URL: https://issues.apache.org/jira/browse/SOLR-11579
> Project: Solr
>  Issue Type: New Feature
>  Security Level: Public(Default Security Level. Issues are Public) 
>  Components: Build
>Affects Versions: 8.0
> Environment: Apache Maven 3.6.0 
> (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-24T19:41:47+01:00)
> Maven home: C:\Users\CollinsDaniel\Utils\apache-maven-3.6.0\bin\..
> Java version: 11.0.2, vendor: Oracle Corporation, runtime: 
> C:\Users\CollinsDaniel\Utils\jdk-11.0.2
> Default locale: en_GB, platform encoding: Cp1252
> OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
> openjdk version "11.0.2" 2019-01-15
> OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
> OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)
>Reporter: Daniel Collins
>Priority: Minor
>  Labels: maven, maven-enforcer-plugin
> Attachments: SOLR-11579.patch
>
>
> I'm calling this minor as I don't believe we officially support Java 11 (but 
> correct me if I'm wrong), and I've only tried on master
> Several issues/notes:
>  # -enforcer plugin breaks if you try to do mvn install-
>  # -javadoc plugin breaks if you try to do mvn javadoc:jar (on Windows)-
>  # warnings from groovy-maven-plugin (TODO)
>  # -a lot of the maven plugins are quite old-
>  # forbiddenapis has some issues with Solr (I assume due to module split-up, 
> javax is no longer part of core) (TODO)
> I have patches for 1, 2, and 4. Still working on 3 and 5.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Updated] (SOLR-11579) Building Solr (master) using Java 11 with Maven has some old plugins

2019-04-25 Thread Daniel Collins (JIRA)


 [ 
https://issues.apache.org/jira/browse/SOLR-11579?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Collins updated SOLR-11579:
--
Summary: Building Solr (master) using Java 11 with Maven has some old 
plugins  (was: Building Solr (master) using Java 11 and Maven has some issues)

> Building Solr (master) using Java 11 with Maven has some old plugins
> 
>
> Key: SOLR-11579
> URL: https://issues.apache.org/jira/browse/SOLR-11579
> Project: Solr
>  Issue Type: New Feature
>  Security Level: Public(Default Security Level. Issues are Public) 
>  Components: Build
>Affects Versions: 8.0
> Environment: Apache Maven 3.6.0 
> (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-24T19:41:47+01:00)
> Maven home: C:\Users\CollinsDaniel\Utils\apache-maven-3.6.0\bin\..
> Java version: 11.0.2, vendor: Oracle Corporation, runtime: 
> C:\Users\CollinsDaniel\Utils\jdk-11.0.2
> Default locale: en_GB, platform encoding: Cp1252
> OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
> openjdk version "11.0.2" 2019-01-15
> OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
> OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)
>Reporter: Daniel Collins
>Priority: Minor
>  Labels: maven, maven-enforcer-plugin
> Attachments: SOLR-11579.patch
>
>
> I'm calling this minor as I don't believe we officially support Java 11 (but 
> correct me if I'm wrong), and I've only tried on master
> Several issues/notes:
>  # -enforcer plugin breaks if you try to do mvn install-
>  # -javadoc plugin breaks if you try to do mvn javadoc:jar (on Windows)-
>  # warnings from groovy-maven-plugin (TODO)
>  # -a lot of the maven plugins are quite old-
>  # forbiddenapis has some issues with Solr (I assume due to module split-up, 
> javax is no longer part of core) (TODO)
> I have patches for 1, 2, and 4. Still working on 3 and 5.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Updated] (SOLR-11579) Building Solr (master) using Java 11 and Maven has some issues

2019-04-25 Thread Daniel Collins (JIRA)


 [ 
https://issues.apache.org/jira/browse/SOLR-11579?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Collins updated SOLR-11579:
--
Attachment: SOLR-11579.patch

> Building Solr (master) using Java 11 and Maven has some issues
> --
>
> Key: SOLR-11579
> URL: https://issues.apache.org/jira/browse/SOLR-11579
> Project: Solr
>  Issue Type: New Feature
>  Security Level: Public(Default Security Level. Issues are Public) 
>  Components: Build
>Affects Versions: 8.0
> Environment: Apache Maven 3.6.0 
> (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-24T19:41:47+01:00)
> Maven home: C:\Users\CollinsDaniel\Utils\apache-maven-3.6.0\bin\..
> Java version: 11.0.2, vendor: Oracle Corporation, runtime: 
> C:\Users\CollinsDaniel\Utils\jdk-11.0.2
> Default locale: en_GB, platform encoding: Cp1252
> OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
> openjdk version "11.0.2" 2019-01-15
> OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
> OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)
>Reporter: Daniel Collins
>Priority: Minor
>  Labels: maven, maven-enforcer-plugin
> Attachments: SOLR-11579.patch
>
>
> I'm calling this minor as I don't believe we officially support Java 11 (but 
> correct me if I'm wrong), and I've only tried on master
> Several issues/notes:
>  # -enforcer plugin breaks if you try to do mvn install-
>  # -javadoc plugin breaks if you try to do mvn javadoc:jar (on Windows)-
>  # warnings from groovy-maven-plugin (TODO)
>  # -a lot of the maven plugins are quite old-
>  # forbiddenapis has some issues with Solr (I assume due to module split-up, 
> javax is no longer part of core) (TODO)
> I have patches for 1, 2, and 4. Still working on 3 and 5.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Updated] (SOLR-11579) Building Solr (master) using Java 11 and Maven has some issues

2019-04-25 Thread Daniel Collins (JIRA)


 [ 
https://issues.apache.org/jira/browse/SOLR-11579?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Collins updated SOLR-11579:
--
Attachment: (was: SOLR-11579_2)

> Building Solr (master) using Java 11 and Maven has some issues
> --
>
> Key: SOLR-11579
> URL: https://issues.apache.org/jira/browse/SOLR-11579
> Project: Solr
>  Issue Type: New Feature
>  Security Level: Public(Default Security Level. Issues are Public) 
>  Components: Build
>Affects Versions: 8.0
> Environment: Apache Maven 3.6.0 
> (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-24T19:41:47+01:00)
> Maven home: C:\Users\CollinsDaniel\Utils\apache-maven-3.6.0\bin\..
> Java version: 11.0.2, vendor: Oracle Corporation, runtime: 
> C:\Users\CollinsDaniel\Utils\jdk-11.0.2
> Default locale: en_GB, platform encoding: Cp1252
> OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
> openjdk version "11.0.2" 2019-01-15
> OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
> OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)
>Reporter: Daniel Collins
>Priority: Minor
>  Labels: maven, maven-enforcer-plugin
> Attachments: SOLR-11579.patch
>
>
> I'm calling this minor as I don't believe we officially support Java 11 (but 
> correct me if I'm wrong), and I've only tried on master
> Several issues/notes:
>  # -enforcer plugin breaks if you try to do mvn install-
>  # -javadoc plugin breaks if you try to do mvn javadoc:jar (on Windows)-
>  # warnings from groovy-maven-plugin (TODO)
>  # -a lot of the maven plugins are quite old-
>  # forbiddenapis has some issues with Solr (I assume due to module split-up, 
> javax is no longer part of core) (TODO)
> I have patches for 1, 2, and 4. Still working on 3 and 5.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Updated] (SOLR-11579) Building Solr (master) using Java 11 with Maven has some old plugins

2019-04-25 Thread Daniel Collins (JIRA)


 [ 
https://issues.apache.org/jira/browse/SOLR-11579?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Collins updated SOLR-11579:
--
Description: 
I'm calling this minor as I don't believe we officially support Java 11 (but 
correct me if I'm wrong), and I've only tried on master

Several issues/notes:
 # -enforcer plugin breaks if you try to do mvn install-
 # -javadoc plugin breaks if you try to do mvn javadoc:jar (on Windows)-
 # warnings from groovy-maven-plugin (TODO)
 # -a lot of the maven plugins are quite old-
 # forbiddenapis has some issues with Solr (I assume due to module split-up, 
javax is no longer part of core) (TODO)

There is a patch for 3 now

  was:
I'm calling this minor as I don't believe we officially support Java 11 (but 
correct me if I'm wrong), and I've only tried on master

Several issues/notes:
 # -enforcer plugin breaks if you try to do mvn install-
 # -javadoc plugin breaks if you try to do mvn javadoc:jar (on Windows)-
 # warnings from groovy-maven-plugin (TODO)
 # -a lot of the maven plugins are quite old-
 # forbiddenapis has some issues with Solr (I assume due to module split-up, 
javax is no longer part of core) (TODO)

I have patches for 1, 2, and 4. Still working on 3 and 5.


> Building Solr (master) using Java 11 with Maven has some old plugins
> 
>
> Key: SOLR-11579
> URL: https://issues.apache.org/jira/browse/SOLR-11579
> Project: Solr
>  Issue Type: New Feature
>  Security Level: Public(Default Security Level. Issues are Public) 
>  Components: Build
>Affects Versions: 8.0
> Environment: Apache Maven 3.6.0 
> (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-24T19:41:47+01:00)
> Maven home: C:\Users\CollinsDaniel\Utils\apache-maven-3.6.0\bin\..
> Java version: 11.0.2, vendor: Oracle Corporation, runtime: 
> C:\Users\CollinsDaniel\Utils\jdk-11.0.2
> Default locale: en_GB, platform encoding: Cp1252
> OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
> openjdk version "11.0.2" 2019-01-15
> OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
> OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)
>Reporter: Daniel Collins
>Priority: Minor
>  Labels: maven, maven-enforcer-plugin
> Attachments: SOLR-11579.patch
>
>
> I'm calling this minor as I don't believe we officially support Java 11 (but 
> correct me if I'm wrong), and I've only tried on master
> Several issues/notes:
>  # -enforcer plugin breaks if you try to do mvn install-
>  # -javadoc plugin breaks if you try to do mvn javadoc:jar (on Windows)-
>  # warnings from groovy-maven-plugin (TODO)
>  # -a lot of the maven plugins are quite old-
>  # forbiddenapis has some issues with Solr (I assume due to module split-up, 
> javax is no longer part of core) (TODO)
> There is a patch for 3 now



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Commented] (SOLR-11579) Building Solr (master) using Java 11 and Maven has some issues

2019-04-24 Thread Daniel Collins (JIRA)


[ 
https://issues.apache.org/jira/browse/SOLR-11579?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16824914#comment-16824914
 ] 

Daniel Collins commented on SOLR-11579:
---

I now have openjdk 11 on both Linux and Windows.  The javadoc plugin issue has 
gone away (mvn javadoc:jar fails on Windows for some other reason, still trying 
to work out what that is, but it works on Linux and ant documentation works on 
Windows).

Most of the plugins are now updated, there are a few left, so I'll put a small 
patch together for that.

> Building Solr (master) using Java 11 and Maven has some issues
> --
>
> Key: SOLR-11579
> URL: https://issues.apache.org/jira/browse/SOLR-11579
> Project: Solr
>  Issue Type: New Feature
>  Security Level: Public(Default Security Level. Issues are Public) 
>  Components: Build
>Affects Versions: 8.0
> Environment: Apache Maven 3.6.0 
> (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-24T19:41:47+01:00)
> Maven home: C:\Users\CollinsDaniel\Utils\apache-maven-3.6.0\bin\..
> Java version: 11.0.2, vendor: Oracle Corporation, runtime: 
> C:\Users\CollinsDaniel\Utils\jdk-11.0.2
> Default locale: en_GB, platform encoding: Cp1252
> OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
> openjdk version "11.0.2" 2019-01-15
> OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
> OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)
>Reporter: Daniel Collins
>Priority: Minor
>  Labels: maven, maven-enforcer-plugin
>     Attachments: SOLR-11579_2, SOLR-11579_4
>
>
> I'm calling this minor as I don't believe we officially support Java 11 (but 
> correct me if I'm wrong), and I've only tried on master
> Several issues/notes:
>  # -enforcer plugin breaks if you try to do mvn install-
>  # -javadoc plugin breaks if you try to do mvn javadoc:jar (on Windows)-
>  # warnings from groovy-maven-plugin (TODO)
>  # -a lot of the maven plugins are quite old-
>  # forbiddenapis has some issues with Solr (I assume due to module split-up, 
> javax is no longer part of core) (TODO)
> I have patches for 1, 2, and 4. Still working on 3 and 5.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Updated] (SOLR-11579) Building Solr (master) using Java 11 and Maven has some issues

2019-04-24 Thread Daniel Collins (JIRA)


 [ 
https://issues.apache.org/jira/browse/SOLR-11579?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Collins updated SOLR-11579:
--
Description: 
I'm calling this minor as I don't believe we officially support Java 11 (but 
correct me if I'm wrong), and I've only tried on master

Several issues/notes:
 # -enforcer plugin breaks if you try to do mvn install-
 # -javadoc plugin breaks if you try to do mvn javadoc:jar (on Windows)-
 # warnings from groovy-maven-plugin (TODO)
 # -a lot of the maven plugins are quite old-
 # forbiddenapis has some issues with Solr (I assume due to module split-up, 
javax is no longer part of core) (TODO)

I have patches for 1, 2, and 4. Still working on 3 and 5.

  was:
I'm calling this minor as I don't believe we officially support Java 11 (but 
correct me if I'm wrong), and I've only tried on master

Several issues/notes:
 # -enforcer plugin breaks if you try to do mvn install-
 # -javadoc plugin breaks if you try to do mvn javadoc:jar (on Windows)-
 # warnings from groovy-maven-plugin (TODO)
 # a lot of the maven plugins are quite old
 # forbiddenapis has some issues with Solr (I assume due to module split-up, 
javax is no longer part of core) (TODO)

I have patches for 1, 2, and 4. Still working on 3 and 5.


> Building Solr (master) using Java 11 and Maven has some issues
> --
>
> Key: SOLR-11579
> URL: https://issues.apache.org/jira/browse/SOLR-11579
> Project: Solr
>  Issue Type: New Feature
>  Security Level: Public(Default Security Level. Issues are Public) 
>  Components: Build
>Affects Versions: 8.0
> Environment: Apache Maven 3.6.0 
> (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-24T19:41:47+01:00)
> Maven home: C:\Users\CollinsDaniel\Utils\apache-maven-3.6.0\bin\..
> Java version: 11.0.2, vendor: Oracle Corporation, runtime: 
> C:\Users\CollinsDaniel\Utils\jdk-11.0.2
> Default locale: en_GB, platform encoding: Cp1252
> OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
> openjdk version "11.0.2" 2019-01-15
> OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
> OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)
>Reporter: Daniel Collins
>Priority: Minor
>  Labels: maven, maven-enforcer-plugin
>     Attachments: SOLR-11579_2, SOLR-11579_4
>
>
> I'm calling this minor as I don't believe we officially support Java 11 (but 
> correct me if I'm wrong), and I've only tried on master
> Several issues/notes:
>  # -enforcer plugin breaks if you try to do mvn install-
>  # -javadoc plugin breaks if you try to do mvn javadoc:jar (on Windows)-
>  # warnings from groovy-maven-plugin (TODO)
>  # -a lot of the maven plugins are quite old-
>  # forbiddenapis has some issues with Solr (I assume due to module split-up, 
> javax is no longer part of core) (TODO)
> I have patches for 1, 2, and 4. Still working on 3 and 5.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Updated] (SOLR-11579) Building Solr (master) using Java 11 and Maven has some issues

2019-04-24 Thread Daniel Collins (JIRA)


 [ 
https://issues.apache.org/jira/browse/SOLR-11579?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Collins updated SOLR-11579:
--
Description: 
I'm calling this minor as I don't believe we officially support Java 11 (but 
correct me if I'm wrong), and I've only tried on master

Several issues/notes:
 # -enforcer plugin breaks if you try to do mvn install-
 # -javadoc plugin breaks if you try to do mvn javadoc:jar (on Windows)-
 # warnings from groovy-maven-plugin (TODO)
 # a lot of the maven plugins are quite old
 # forbiddenapis has some issues with Solr (I assume due to module split-up, 
javax is no longer part of core) (TODO)

I have patches for 1, 2, and 4. Still working on 3 and 5.

  was:
I'm calling this minor as I don't believe we officially support Java 11 (but 
correct me if I'm wrong), and I've only tried on master

Several issues/notes:
 # -enforcer plugin breaks if you try to do mvn install-
 # javadoc plugin breaks if you try to do mvn javadoc:jar (on Windows)
 # warnings from groovy-maven-plugin (TODO)
 # a lot of the maven plugins are quite old
 # forbiddenapis has some issues with Solr (I assume due to module split-up, 
javax is no longer part of core) (TODO)

I have patches for 1, 2, and 4. Still working on 3 and 5.


> Building Solr (master) using Java 11 and Maven has some issues
> --
>
> Key: SOLR-11579
> URL: https://issues.apache.org/jira/browse/SOLR-11579
> Project: Solr
>  Issue Type: New Feature
>  Security Level: Public(Default Security Level. Issues are Public) 
>  Components: Build
>Affects Versions: 8.0
> Environment: Apache Maven 3.6.0 
> (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-24T19:41:47+01:00)
> Maven home: C:\Users\CollinsDaniel\Utils\apache-maven-3.6.0\bin\..
> Java version: 11.0.2, vendor: Oracle Corporation, runtime: 
> C:\Users\CollinsDaniel\Utils\jdk-11.0.2
> Default locale: en_GB, platform encoding: Cp1252
> OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
> openjdk version "11.0.2" 2019-01-15
> OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
> OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)
>Reporter: Daniel Collins
>Priority: Minor
>  Labels: maven, maven-enforcer-plugin
>     Attachments: SOLR-11579_2, SOLR-11579_4
>
>
> I'm calling this minor as I don't believe we officially support Java 11 (but 
> correct me if I'm wrong), and I've only tried on master
> Several issues/notes:
>  # -enforcer plugin breaks if you try to do mvn install-
>  # -javadoc plugin breaks if you try to do mvn javadoc:jar (on Windows)-
>  # warnings from groovy-maven-plugin (TODO)
>  # a lot of the maven plugins are quite old
>  # forbiddenapis has some issues with Solr (I assume due to module split-up, 
> javax is no longer part of core) (TODO)
> I have patches for 1, 2, and 4. Still working on 3 and 5.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Updated] (SOLR-13424) Ref Guide PDF build throws Java warnings after requiring Java 11 on master

2019-04-23 Thread Cassandra Targett (JIRA)


 [ 
https://issues.apache.org/jira/browse/SOLR-13424?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Cassandra Targett updated SOLR-13424:
-
Summary: Ref Guide PDF build throws Java warnings after requiring Java 11 
on master  (was: Ref Guide PDF build throws Java errors after requiring Java 11 
on master)

> Ref Guide PDF build throws Java warnings after requiring Java 11 on master
> --
>
> Key: SOLR-13424
> URL: https://issues.apache.org/jira/browse/SOLR-13424
> Project: Solr
>  Issue Type: Bug
>  Security Level: Public(Default Security Level. Issues are Public) 
>  Components: documentation
>Reporter: Cassandra Targett
>Priority: Major
>
> Since the {{master}} branch requires Java 11, the Ref Guide build has started 
> throwing WARNINGs that we should look into. Despite the WARNINGs, the PDF 
> build finishes successfully and appears the same as usual. 
> There are a couple moving parts here - first some classes [~hossman] wrote to 
> validate links in the PDF, and second a .jar from the {{asciidoctor-ant}} 
> project. I suspect some of these are related to Hoss' code and some are from 
> the project that's doing the PDF conversion.
> I'll put the output from a Jenkins job in the comment to show the errors.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Commented] (SOLR-13424) Ref Guide PDF build throws Java errors after requiring Java 11 on master

2019-04-23 Thread Cassandra Targett (JIRA)


[ 
https://issues.apache.org/jira/browse/SOLR-13424?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16824216#comment-16824216
 ] 

Cassandra Targett commented on SOLR-13424:
--

This is from 
https://builds.apache.org/view/L/view/Lucene/job/Solr-reference-guide-master/15365/
 (23 April 2019).

The PDF target has several dependent targets, so runs in stages.

The {{build-nav-data-files}} dependent target produces the following. This is 
from Hoss' classes, and builds the hierarchical page navigation:

{code}
build-nav-data-files:
 [java] Building up tree of all known pages
 [java] unsupported Java version "11", defaulting to 1.7
 [java] WARNING: An illegal reflective access operation has occurred
 [java] WARNING: Illegal reflective access by org.jruby.util.io.FilenoUtil 
(file:/home/jenkins/.ivy2/cache/org.asciidoctor/asciidoctor-ant/jars/asciidoctor-ant-1.6.0-alpha.5.jar)
 to method sun.nio.ch.SelChImpl.getFD()
 [java] WARNING: Please consider reporting this to the maintainers of 
org.jruby.util.io.FilenoUtil
 [java] WARNING: Use --illegal-access=warn to enable warnings of further 
illegal reflective access operations
 [java] WARNING: All illegal access operations will be denied in a future 
release
 [java] Creating 
/home/jenkins/jenkins-slave/workspace/Solr-reference-guide-master/solr/build/solr-ref-guide/content/_data/pdf-main-body.adoc
 [java] Creating 
/home/jenkins/jenkins-slave/workspace/Solr-reference-guide-master/solr/build/solr-ref-guide/content/_data/scrollnav.json
 [java] Creating 
/home/jenkins/jenkins-slave/workspace/Solr-reference-guide-master/solr/build/solr-ref-guide/content/_data/sidebar.json
{code}

The {{bare-bones-html-validation}} creates a stripped-down HTML for checking 
that inter-document links work properly, and is also from Hoss' classes, but 
uses asciidoctor-ant to do the conversion to HTML (some unrelated messages at 
the end have been stripped):

{code}
bare-bones-html-validation:
[mkdir] Created dir: 
/home/jenkins/jenkins-slave/workspace/Solr-reference-guide-master/solr/build/solr-ref-guide/bare-bones-html
[asciidoctor:convert] unsupported Java version "11", defaulting to 1.7
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.jruby.util.io.FilenoUtil 
(file:/home/jenkins/jenkins-slave/workspace/Solr-reference-guide-master/solr/solr-ref-guide/lib/asciidoctor-ant-1.6.0-alpha.5.jar)
 to method sun.nio.ch.SelChImpl.getFD()
WARNING: Please consider reporting this to the maintainers of 
org.jruby.util.io.FilenoUtil
WARNING: Use --illegal-access=warn to enable warnings of further illegal 
reflective access operations
WARNING: All illegal access operations will be denied in a future release
[asciidoctor:convert] Render asciidoc files from 
/home/jenkins/jenkins-slave/workspace/Solr-reference-guide-master/solr/build/solr-ref-guide/content
 to 
/home/jenkins/jenkins-slave/workspace/Solr-reference-guide-master/solr/build/solr-ref-guide/bare-bones-html
 with backend=html5
...
 [java] Processed 2526 links (1839 relative) to 3355 anchors in 253 files
 [echo] Validated Links & Anchors via: 
/home/jenkins/jenkins-slave/workspace/Solr-reference-guide-master/solr/build/solr-ref-guide/bare-bones-html/
{code}

> Ref Guide PDF build throws Java errors after requiring Java 11 on master
> 
>
> Key: SOLR-13424
> URL: https://issues.apache.org/jira/browse/SOLR-13424
> Project: Solr
>  Issue Type: Bug
>  Security Level: Public(Default Security Level. Issues are Public) 
>  Components: documentation
>Reporter: Cassandra Targett
>Priority: Major
>
> Since the {{master}} branch requires Java 11, the Ref Guide build has started 
> throwing WARNINGs that we should look into. Despite the WARNINGs, the PDF 
> build finishes successfully and appears the same as usual. 
> There are a couple moving parts here - first some classes [~hossman] wrote to 
> validate links in the PDF, and second a .jar from the {{asciidoctor-ant}} 
> project. I suspect some of these are related to Hoss' code and some are from 
> the project that's doing the PDF conversion.
> I'll put the output from a Jenkins job in the comment to show the errors.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Created] (SOLR-13424) Ref Guide PDF build throws Java errors after requiring Java 11 on master

2019-04-23 Thread Cassandra Targett (JIRA)
Cassandra Targett created SOLR-13424:


 Summary: Ref Guide PDF build throws Java errors after requiring 
Java 11 on master
 Key: SOLR-13424
 URL: https://issues.apache.org/jira/browse/SOLR-13424
 Project: Solr
  Issue Type: Bug
  Security Level: Public (Default Security Level. Issues are Public)
  Components: documentation
Reporter: Cassandra Targett


Since the {{master}} branch requires Java 11, the Ref Guide build has started 
throwing WARNINGs that we should look into. Despite the WARNINGs, the PDF build 
finishes successfully and appears the same as usual. 

There are a couple moving parts here - first some classes [~hossman] wrote to 
validate links in the PDF, and second a .jar from the {{asciidoctor-ant}} 
project. I suspect some of these are related to Hoss' code and some are from 
the project that's doing the PDF conversion.

I'll put the output from a Jenkins job in the comment to show the errors.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



RE: Change of master to Java 11 tomorrow, 2019-04-16, 12:00 UTC

2019-04-16 Thread Uwe Schindler
That groovy code is unfixable, it's a known issue. Warning existed since Java 
9... We may try to update to later groovy, but it's a known issue and can be 
done later. One thing after the other! Just ignore it. For those who follow 
Jenkins jobs during the last years, it's well known.

Uwe

Am April 16, 2019 6:22:09 PM UTC schrieb Chris Hostetter 
:
>
>: The master branch was updated to use Java 11 - all Jenkins Jobs are
>back online! Let's see if additional Jenkins failures occur.
>
>FYI: first oddity i noticed is coming from some groovy code that seems 
>to run as part of "common.test" ?
>
>$ git clean -fx && cd solr/core/ && ant test
>-Dtestcase=TestCloudConsistency
>...
>   [junit4] Tests summary: 1 suite, 2 tests
> [echo] 5 slowest tests:
>[junit4:tophints] 315.23s | org.apache.solr.cloud.ShardSplitTest
>[junit4:tophints] 260.44s | org.apache.solr.search.facet.TestJsonFacets
>[junit4:tophints] 208.15s | org.apache.solr.cloud.TestHossSanity
>[junit4:tophints] 186.80s |
>org.apache.solr.cloud.api.collections.ShardSplitTest
>[junit4:tophints] 125.64s | org.apache.solr.cloud.OnlyLeaderIndexesTest
>
>-check-totals:
>WARNING: An illegal reflective access operation has occurred
>WARNING: Illegal reflective access by
>org.codehaus.groovy.reflection.CachedClass
>(file:/home/hossman/.ivy2/cache/org.codehaus.groovy/groovy-all/jars/groovy-all-2.4.15.jar)
>to method java.lang.Object.finalize()
>WARNING: Please consider reporting this to the maintainers of
>org.codehaus.groovy.reflection.CachedClass
>WARNING: Use --illegal-access=warn to enable warnings of further
>illegal reflective access operations
>WARNING: All illegal access operations will be denied in a future
>release
>
>common.test:
>
>BUILD SUCCESSFUL
>Total time: 1 minute 31 seconds
>
>I'm using...
>
>hossman@tray:~/lucene/dev/solr/core [master] $ java -version
>openjdk version "11.0.2" 2019-01-15
>OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
>OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)
>
>...which i believe is the latest?
>
>-Hoss
>http://www.lucidworks.com/
>
>-
>To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>For additional commands, e-mail: dev-h...@lucene.apache.org

--
Uwe Schindler
Achterdiek 19, 28357 Bremen
https://www.thetaphi.de

RE: Change of master to Java 11 tomorrow, 2019-04-16, 12:00 UTC

2019-04-16 Thread Uwe Schindler
Hi again,

I was on my mobile only, so here is the "lengthy" explanation:

> FYI: first oddity i noticed is coming from some groovy code that seems
> to run as part of "common.test" ?
> -check-totals:
> WARNING: An illegal reflective access operation has occurred
> WARNING: Illegal reflective access by
> org.codehaus.groovy.reflection.CachedClass
> (file:/home/hossman/.ivy2/cache/org.codehaus.groovy/groovy-
> all/jars/groovy-all-2.4.15.jar) to method java.lang.Object.finalize()
> WARNING: Please consider reporting this to the maintainers of
> org.codehaus.groovy.reflection.CachedClass
> WARNING: Use --illegal-access=warn to enable warnings of further illegal
> reflective access operations
> WARNING: All illegal access operations will be denied in a future release

This is a warning that's triggered by the default behavior of Groovy to call 
"setAccessible" on all and every field/method of every class it sees. If it 
does this on a JDK one, the warning is printed. But for Groovy it's harmless, 
as a failing "setAccessible" is just ignored. The method is then just not 
available. As our Groovy code does not need to access private stuff, it does 
not matter is these are accessible or not.

Gradle is also full of those warnings, they are just hidden by the startup 
scripts that passes a special flag to the JVM. For Ant we can't do this, as 
it's not our startup script. If Java forbids in a later version that we access 
internal classes - who cares?! The whole thing is a stupidity in early Groovy 
versions when they decided that Groovy has access to everything by default. 
Stupid decision, but we have to live with it. Groovy is still arguing against 
the default in Java to print the warning, but there are no movements. As far as 
I know in Groovy 3 they may have removed that legacy behaviour, but I am not 
sure. Let's try it out.

For now, just ignore the warning, it's harmless! Asciidoctor has a similar 
problem BTW, but there it might be serious as a failure to make something 
accessible may block it from running.

Uwe


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



RE: Change of master to Java 11 tomorrow, 2019-04-16, 12:00 UTC

2019-04-16 Thread Chris Hostetter


: > - The HTML linter based on HTML Tidy was disabled until we found a
: > replacement (no HTML 5 support - Java 11 produces HTML5 Javadocs). So it
: > might happen that bad javadocs are not detected in master but after merge
: > to 8.x branch they might suddenly appear.
: 
: Maybe we can use the infrastriucture using ASCIIdoctor of the Solr Ref guide 
here? It seems to also do link / HTML checks.

The code in the ref-guide's CheckLinksAndAnchors.java is *very* 
specialized around dealing with the specific problems that exist in 
asciidoctor when building merged/monolithic docs (like our PDF) from 
multiple source documents -- ie: only a small bit of it is about checking 
links, most of it is about checking for duplicate anchors; and even the 
link checking makes a lot of assumptions about the structure/conventions 
of generated asciidoctor output.

If someone wanted to build a quick and dirty javadoc link checker, the 
jsoup parsing code in CheckLinksAndAnchors.java might be a good starting 
place, but it would probably be eaiser to build a new one then trying to 
generalize what's there to work on arbitrary html.




-Hoss
http://www.lucidworks.com/

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



RE: Change of master to Java 11 tomorrow, 2019-04-16, 12:00 UTC

2019-04-16 Thread Chris Hostetter


: The master branch was updated to use Java 11 - all Jenkins Jobs are back 
online! Let's see if additional Jenkins failures occur.

FYI: first oddity i noticed is coming from some groovy code that seems 
to run as part of "common.test" ?

$ git clean -fx && cd solr/core/ && ant test -Dtestcase=TestCloudConsistency
...
   [junit4] Tests summary: 1 suite, 2 tests
 [echo] 5 slowest tests:
[junit4:tophints] 315.23s | org.apache.solr.cloud.ShardSplitTest
[junit4:tophints] 260.44s | org.apache.solr.search.facet.TestJsonFacets
[junit4:tophints] 208.15s | org.apache.solr.cloud.TestHossSanity
[junit4:tophints] 186.80s | org.apache.solr.cloud.api.collections.ShardSplitTest
[junit4:tophints] 125.64s | org.apache.solr.cloud.OnlyLeaderIndexesTest

-check-totals:
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by 
org.codehaus.groovy.reflection.CachedClass 
(file:/home/hossman/.ivy2/cache/org.codehaus.groovy/groovy-all/jars/groovy-all-2.4.15.jar)
 to method java.lang.Object.finalize()
WARNING: Please consider reporting this to the maintainers of 
org.codehaus.groovy.reflection.CachedClass
WARNING: Use --illegal-access=warn to enable warnings of further illegal 
reflective access operations
WARNING: All illegal access operations will be denied in a future release

common.test:

BUILD SUCCESSFUL
Total time: 1 minute 31 seconds

I'm using...

hossman@tray:~/lucene/dev/solr/core [master] $ java -version
openjdk version "11.0.2" 2019-01-15
OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)

...which i believe is the latest?

-Hoss
http://www.lucidworks.com/

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



Re: Change of master to Java 11 tomorrow, 2019-04-16, 12:00 UTC

2019-04-16 Thread Erick Erickson
Big THANKS to all who worked on this. I just took about 10 minutes to have 
everything up and running in IntelliJ, building from the command shell, etc. 
Most all of that just waiting for compilations to finish and tests to run….

That was about as painless as I could hope for.

Erick

> On Apr 16, 2019, at 5:13 AM, Uwe Schindler  wrote:
> 
> Hi,
> 
> The master branch was updated to use Java 11 - all Jenkins Jobs are back 
> online! Let's see if additional Jenkins failures occur.
> 
> Go ahead and update your local dev environment:
> 
>> As discussed on https://issues.apache.org/jira/browse/LUCENE-8738, we are
>> planning to switch master branch to use Java 11 tomorrow. The Apache and
>> Policeman Jenkins servers are prepared to handle that change, but now it's
>> your turn:
>> 
>> - Install a JDK 11 (remark: no Oracle JDK is needed, just use OpenJDK, e.g.
>> from AdoptOpenJDK)
>> - If you are working on master, you have to use Java 11 also in your IDE (run
>> ant eclipse, netbeans,...). We tested IDE integrations for the common cases.
>> If there are bugs, just fix them if you stumble on them.
>> - If you are also maintaining Jenkins servers, update their configs!
>> - If your merge/cherry pick changes from master to 8.x, don't forget to run
>> precommit with Java 8 (!) and adopt needed changes.
>> 
>> We will merge the branch with those changes tomorrow, 2019-04-16
>> afternoon UTC time, around 12 pm. As always, some hickups might happen,
>> so ignore failing Jenkins jobs! I hope it settles by the time.
> 
> Here is the TODO list if you have an idea:
> 
>> What's not working:
>> 
>> - The HTML linter based on HTML Tidy was disabled until we found a
>> replacement (no HTML 5 support - Java 11 produces HTML5 Javadocs). So it
>> might happen that bad javadocs are not detected in master but after merge
>> to 8.x branch they might suddenly appear.
> 
> Maybe we can use the infrastriucture using ASCIIdoctor of the Solr Ref guide 
> here? It seems to also do link / HTML checks.
> 
>> - OpenClover code coverage Jenkins Jobs were disabled (no support yet for
>> Java 11)
>> 
>> TODOs:
>> 
>> - Use Java 11 features, e.g. replace many unmodifiable collections with
>> Map.of/Set.of/List.of constructs
>> - Cleanup new warnings (we have to do this anyways, as javac is not even
>> happy in Java 8)
> 
> Thanks, especially to Adrien for doing the initial work!
> Uwe
> 
> 
> -
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org
> 


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



RE: Change of master to Java 11 tomorrow, 2019-04-16, 12:00 UTC

2019-04-16 Thread Uwe Schindler
Hi,

The master branch was updated to use Java 11 - all Jenkins Jobs are back 
online! Let's see if additional Jenkins failures occur.

Go ahead and update your local dev environment:

> As discussed on https://issues.apache.org/jira/browse/LUCENE-8738, we are
> planning to switch master branch to use Java 11 tomorrow. The Apache and
> Policeman Jenkins servers are prepared to handle that change, but now it's
> your turn:
> 
> - Install a JDK 11 (remark: no Oracle JDK is needed, just use OpenJDK, e.g.
> from AdoptOpenJDK)
> - If you are working on master, you have to use Java 11 also in your IDE (run
> ant eclipse, netbeans,...). We tested IDE integrations for the common cases.
> If there are bugs, just fix them if you stumble on them.
> - If you are also maintaining Jenkins servers, update their configs!
> - If your merge/cherry pick changes from master to 8.x, don't forget to run
> precommit with Java 8 (!) and adopt needed changes.
> 
> We will merge the branch with those changes tomorrow, 2019-04-16
> afternoon UTC time, around 12 pm. As always, some hickups might happen,
> so ignore failing Jenkins jobs! I hope it settles by the time.

Here is the TODO list if you have an idea:

> What's not working:
> 
> - The HTML linter based on HTML Tidy was disabled until we found a
> replacement (no HTML 5 support - Java 11 produces HTML5 Javadocs). So it
> might happen that bad javadocs are not detected in master but after merge
> to 8.x branch they might suddenly appear.

Maybe we can use the infrastriucture using ASCIIdoctor of the Solr Ref guide 
here? It seems to also do link / HTML checks.

> - OpenClover code coverage Jenkins Jobs were disabled (no support yet for
> Java 11)
> 
> TODOs:
> 
> - Use Java 11 features, e.g. replace many unmodifiable collections with
> Map.of/Set.of/List.of constructs
> - Cleanup new warnings (we have to do this anyways, as javac is not even
> happy in Java 8)

Thanks, especially to Adrien for doing the initial work!
Uwe


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



Change of master to Java 11 tomorrow, 2019-04-16, 12:00 UTC

2019-04-15 Thread Uwe Schindler
Hi committers,

As discussed on https://issues.apache.org/jira/browse/LUCENE-8738, we are 
planning to switch master branch to use Java 11 tomorrow. The Apache and 
Policeman Jenkins servers are prepared to handle that change, but now it's your 
turn:

- Install a JDK 11 (remark: no Oracle JDK is needed, just use OpenJDK, e.g. 
from AdoptOpenJDK)
- If you are working on master, you have to use Java 11 also in your IDE (run 
ant eclipse, netbeans,...). We tested IDE integrations for the common cases. If 
there are bugs, just fix them if you stumble on them.
- If you are also maintaining Jenkins servers, update their configs!
- If your merge/cherry pick changes from master to 8.x, don't forget to run 
precommit with Java 8 (!) and adopt needed changes.

We will merge the branch with those changes tomorrow, 2019-04-16 afternoon UTC 
time, around 12 pm. As always, some hickups might happen, so ignore failing 
Jenkins jobs! I hope it settles by the time.

What's not working:

- The HTML linter based on HTML Tidy was disabled until we found a replacement 
(no HTML 5 support - Java 11 produces HTML5 Javadocs). So it might happen that 
bad javadocs are not detected in master but after merge to 8.x branch they 
might suddenly appear.
- OpenClover code coverage Jenkins Jobs were disabled (no support yet for Java 
11)

TODOs:

- Use Java 11 features, e.g. replace many unmodifiable collections with 
Map.of/Set.of/List.of constructs
- Cleanup new warnings (we have to do this anyways, as javac is not even happy 
in Java 8)

Uwe

-
Uwe Schindler
Achterdiek 19, D-28357 Bremen
https://www.thetaphi.de
eMail: u...@thetaphi.de



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



[jira] [Updated] (LUCENE-8763) Update to OpenClover that works with Java 11

2019-04-13 Thread Uwe Schindler (JIRA)


 [ 
https://issues.apache.org/jira/browse/LUCENE-8763?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Uwe Schindler updated LUCENE-8763:
--
Labels: Java11  (was: )

> Update to OpenClover that works with Java 11
> 
>
> Key: LUCENE-8763
> URL: https://issues.apache.org/jira/browse/LUCENE-8763
> Project: Lucene - Core
>  Issue Type: Bug
>  Components: general/build
>Affects Versions: master (9.0)
>Reporter: Uwe Schindler
>Assignee: Uwe Schindler
>Priority: Major
>  Labels: Java11
>
> OpenClover does not yet have a release that works with Java 11, so we have to 
> disable the task and add a TODO for updating it.
> I will commit this for now to the LUCENE-8738 branch.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Commented] (LUCENE-8763) Update to OpenClover that works with Java 11

2019-04-13 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/LUCENE-8763?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16817061#comment-16817061
 ] 

ASF subversion and git services commented on LUCENE-8763:
-

Commit 831e940e02305eef6d99799bc1ba52e62d7190f5 in lucene-solr's branch 
refs/heads/jira/LUCENE-8738 from Uwe Schindler
[ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=831e940 ]

LUCENE-8738, LUCENE-8763: Disable OpenClover until a release with Java 11 
support is available


> Update to OpenClover that works with Java 11
> 
>
> Key: LUCENE-8763
> URL: https://issues.apache.org/jira/browse/LUCENE-8763
> Project: Lucene - Core
>  Issue Type: Bug
>  Components: general/build
>Affects Versions: master (9.0)
>Reporter: Uwe Schindler
>Assignee: Uwe Schindler
>Priority: Major
>
> OpenClover does not yet have a release that works with Java 11, so we have to 
> disable the task and add a TODO for updating it.
> I will commit this for now to the LUCENE-8738 branch.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Created] (LUCENE-8763) Update to OpenClover that works with Java 11

2019-04-13 Thread Uwe Schindler (JIRA)
Uwe Schindler created LUCENE-8763:
-

 Summary: Update to OpenClover that works with Java 11
 Key: LUCENE-8763
 URL: https://issues.apache.org/jira/browse/LUCENE-8763
 Project: Lucene - Core
  Issue Type: Bug
  Components: general/build
Affects Versions: master (9.0)
Reporter: Uwe Schindler
Assignee: Uwe Schindler


OpenClover does not yet have a release that works with Java 11, so we have to 
disable the task and add a TODO for updating it.

I will commit this for now to the LUCENE-8738 branch.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Updated] (SOLR-11579) Building Solr (master) using Java 11 and Maven has some issues

2019-04-01 Thread Daniel Collins (JIRA)


 [ 
https://issues.apache.org/jira/browse/SOLR-11579?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Collins updated SOLR-11579:
--
Summary: Building Solr (master) using Java 11 and Maven has some issues  
(was: Building Solr using Java 9 and Maven doesn't work)

> Building Solr (master) using Java 11 and Maven has some issues
> --
>
> Key: SOLR-11579
> URL: https://issues.apache.org/jira/browse/SOLR-11579
> Project: Solr
>  Issue Type: New Feature
>  Security Level: Public(Default Security Level. Issues are Public) 
>  Components: Build
>Affects Versions: 8.0
> Environment: Apache Maven 3.6.0 
> (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-24T19:41:47+01:00)
> Maven home: C:\Users\CollinsDaniel\Utils\apache-maven-3.6.0\bin\..
> Java version: 11.0.2, vendor: Oracle Corporation, runtime: 
> C:\Users\CollinsDaniel\Utils\jdk-11.0.2
> Default locale: en_GB, platform encoding: Cp1252
> OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
> openjdk version "11.0.2" 2019-01-15
> OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
> OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)
>Reporter: Daniel Collins
>Priority: Minor
>  Labels: maven, maven-enforcer-plugin
>     Attachments: SOLR-11579_2, SOLR-11579_4
>
>
> I'm calling this minor as I don't believe we officially support Java 11 (but 
> correct me if I'm wrong), and I've only tried on master
> Several issues/notes:
>  # -enforcer plugin breaks if you try to do mvn install-
>  # javadoc plugin breaks if you try to do mvn javadoc:jar (on Windows)
>  # warnings from groovy-maven-plugin (TODO)
>  # a lot of the maven plugins are quite old
>  # forbiddenapis has some issues with Solr (I assume due to module split-up, 
> javax is no longer part of core) (TODO)
> I have patches for 1, 2, and 4. Still working on 3 and 5.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



Re: [VOTE] Master/9.0 to require Java 11

2019-03-25 Thread Adrien Grand
This vote has passed. I opened
https://issues.apache.org/jira/browse/LUCENE-8738.

Thanks all.

On Mon, Mar 25, 2019 at 1:27 AM Varun Thacker  wrote:
>
> +1
>
> On Wed, Mar 20, 2019 at 9:47 AM David Smiley  wrote:
>>
>> +1 -- great point about Lucene/Solr's next major release being a ways off; 
>> this makes the decision pretty easy.
>>
>> ~ David Smiley
>> Apache Lucene/Solr Search Developer
>> http://www.linkedin.com/in/davidwsmiley
>>
>>
>> On Tue, Mar 19, 2019 at 2:23 PM Adrien Grand  wrote:
>>>
>>> Hello,
>>>
>>> Now that Lucene/Solr 8.0 has shipped I'd like us to consider requiring
>>> Java 11 for 9.0, currently the master branch. We had 18 months between
>>> 7.0 and 8.0, so if we assume a similar interval between 8.0 and 9.0
>>> that would mean releasing 9.0 about 2 years after Java 11, which
>>> sounds like a conservative requirement to me.
>>>
>>> What do you think?
>>>
>>> Here is my +1.
>>>
>>> --
>>> Adrien
>>>
>>> -
>>> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>>> For additional commands, e-mail: dev-h...@lucene.apache.org
>>>


-- 
Adrien

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



Re: [VOTE] Master/9.0 to require Java 11

2019-03-24 Thread Varun Thacker
+1

On Wed, Mar 20, 2019 at 9:47 AM David Smiley 
wrote:

> +1 -- great point about Lucene/Solr's next major release being a ways off;
> this makes the decision pretty easy.
>
> ~ David Smiley
> Apache Lucene/Solr Search Developer
> http://www.linkedin.com/in/davidwsmiley
>
>
> On Tue, Mar 19, 2019 at 2:23 PM Adrien Grand  wrote:
>
>> Hello,
>>
>> Now that Lucene/Solr 8.0 has shipped I'd like us to consider requiring
>> Java 11 for 9.0, currently the master branch. We had 18 months between
>> 7.0 and 8.0, so if we assume a similar interval between 8.0 and 9.0
>> that would mean releasing 9.0 about 2 years after Java 11, which
>> sounds like a conservative requirement to me.
>>
>> What do you think?
>>
>> Here is my +1.
>>
>> --
>> Adrien
>>
>> -
>> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>> For additional commands, e-mail: dev-h...@lucene.apache.org
>>
>>


  1   2   >