[
https://issues.apache.org/jira/browse/LUCENE-6989?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15752649#comment-15752649
]
Sanne Grinovero commented on LUCENE-6989:
-----------------------------------------
We have more recent releases of Hibernate Search using Lucene 5.5.x, but we
typically aim to support older releases as well, for some reasonable time. It
just so happens that Lucene 5.3 isn't that old yet in our perspective. While I
constantly work to motivate people to move to the latest, for many Lucene 5.3
is working just great.
The OSS communities we target typically will not expect API changes in a
maintenance release, and we happen to (proudly) expose Lucene as public API, as
I believe that hiding it all under some wrapping layer would not be able to be
as powerful. Since we expose Lucene as public API implies I can't really update
my dependency to Lucene with other than a micro (bugfix) release, when doing a
micro/bugfix release myself: people got used that a Lucene major/minor update
will only happen in an Hibernate Search major/minor update.
Of course if that's not feasible, we might have to advise that those older
releases won't be compatible with Java 9; that's a possible outcome, I guess
we'll see how the final Java 9 release will make this doable. See you at
FOSDEM, hopefully with my colleague Andrew Haley as well ;-)
> Implement MMapDirectory unmapping for coming Java 9 changes
> -----------------------------------------------------------
>
> Key: LUCENE-6989
> URL: https://issues.apache.org/jira/browse/LUCENE-6989
> Project: Lucene - Core
> Issue Type: Task
> Components: core/store
> Reporter: Uwe Schindler
> Assignee: Uwe Schindler
> Labels: Java9
> Fix For: 6.0, 6.4
>
> Attachments: LUCENE-6989-disable5x.patch,
> LUCENE-6989-disable5x.patch, LUCENE-6989-fixbuild148.patch,
> LUCENE-6989-v2.patch, LUCENE-6989-v3-post-b148.patch, LUCENE-6989.patch,
> LUCENE-6989.patch, LUCENE-6989.patch, LUCENE-6989.patch
>
>
> Originally, the sun.misc.Cleaner interface was declared as "critical API" in
> [JEP 260|http://openjdk.java.net/jeps/260 ]
> Unfortunately the decission was changed in favor of a oficially supported
> {{java.lang.ref.Cleaner}} API. A side effect of this change is to move all
> existing {{sun.misc.Cleaner}} APIs into a non-exported package. This causes
> our forceful unmapping to no longer work, because we can get the cleaner
> instance via reflection, but trying to invoke it will throw one of the new
> Jigsaw RuntimeException because it is completely inaccessible. This will make
> our forceful unmapping fail. There are also no changes in Garbage collector,
> the problem still exists.
> For more information see this [mailing list
> thread|http://mail.openjdk.java.net/pipermail/core-libs-dev/2016-January/thread.html#38243].
> This commit will likely be done, making our unmapping efforts no longer
> working. Alan Bateman is aware of this issue and will open a new issue at
> OpenJDK to allow forceful unmapping without using the now private
> sun.misc.Cleaner. The idea is to let the internal class sun.misc.Cleaner
> implement the Runable interface, so we can simply cast to runable and call
> the run() method to unmap. The code would then work. This will lead to minor
> changes in our unmapper in MMapDirectory: An instanceof check and casting if
> possible.
> I opened this issue to keep track and implement the changes as soon as
> possible, so people will have working unmapping when java 9 comes out.
> Current Lucene versions will no longer work with Java 9.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]