ChrisHegarty commented on PR #14131:
URL: https://github.com/apache/lucene/pull/14131#issuecomment-2615927388

   > Tha APIs are available in Java 21, too (with minimal changes regarding 
some specific parts like string handling). If you omit those, you can compile 
against java 21 and later strip the preview bit from all classes (Lucebe did 
this a while ago). Nowadays Lucene extracted a stub-jar with all public class 
signatures (without code) from java 21 and compiles against it with some 
compiler tricks.
   > 
   > I don't know if the APIs which are different are used by cuvs, so I can't 
give a recommendation.
   
   From a quick skim, then I think we can manage to make this work. For the 
small shimmer in the foreign API, we can provide static version specific stubs. 
We do similar in Elasticsearch.
   
   > If cuvs is only available with Java 22 due to incompatibility of APIs, we 
need to either upgrade minimum version of Lucene or we need toolkit magic to 
only compile this for Java 22 (which I'd like to avoid).
   
   At a minimum, the cuvs-java API exposes MemorySegment, so all consumers - 
Lucene in this case - would have to deal with the preview-ness nonsense!. But 
again, this may be doable with a little fiddling in gradle and the class file.
   
   > P.S. I'd like to bite into the apple and make Java 22 minimum requirement. 
Then we can use Memory segments in our public API and clean up a lot.
   
   As you know, I'm strongly in favour of moving to newer java versions. 
However, this is quite a move. I will result in every project consuming Lucene 
to keep upgrading constantly until the next Java LTS.  Which I'm personally ok 
with, but I'm not sure anyone has really done this before.
   


-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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

Reply via email to