Java 9 build 148 causes trouble in Apache Lucene/Solr/Elasticsearch
Andrew Haley
aph at redhat.com
Mon Dec 12 15:30:18 UTC 2016
On 12/12/16 15:11, Uwe Schindler wrote:
> Thanks for taking care! Your proposal is still the "volatile only
> during safepoint" idea? I remember our discussions last FOSDEM and
> this is why I brought it up in this mail thread (see my original
> mail referring to your name).
It's the same idea. It's occurred to me that the ability to have a
field write that is only guaranteed to be visible to all threads after
a safepoint is a more generally useful idea than just something for
mapped ByteBuffers. So, my current plan (such as it is) involves
creating a new kind of VarHandle read, and this is a new public API,
etc.
> I was aware, that Java 10 would be a good place for the "correct fix
> that no longer relies on GC". For Java 9, we should go the current
> route and add the Unsafe method to forcefully unmap. The new unmap
> method is now needed, because the recent Jigsaw enhancements make it
> completely impossible to do setAccessible on JDK modules by default
> so the internal Cleaner is unreachable. Lucene is happy to get a
> "dirty workaround" for Java 9 and we can then wait for Java 10 where
> we get a public close() method on MappedByteBuffer / DirectBuffer.
Sure, I get that. It's a bit unfortunate, but getting it done for JDK
9 was always going to have been a stretch,
Andrew.
More information about the jigsaw-dev
mailing list