Hi,

For awareness, I would to like to raise a potential issue that we’ve run into 
when testing Elasticsearch with the latest 9.x branch.

A recent change in 9.x [1] has introduced a dependency on hppc 0.9.1. Hppc has 
added an explicit automatic module name in its manifest, which effectively 
changes the auto module name from the plain hppc (derived from the jar file 
name) to com.carrotsearch.hppc. So one must use 0.9.1 ( or 0.9.0 ) if deployed 
as a module - otherwise the resolution of the `org.apache.lucene.join` module 
will fail.

Since Elasticsearch is deployed as a module, then we need to update to hppc 
0.9.1 [2], but unfortunately this is not straightforward. In fact, Ryan has a 
PR open [3] for the past 2 years without completion! The iteration order of 
some collection types in hppc 0.9.x [*] is tickling some inadvertent order 
dependencies in Elasticsearch. It may take some time to track these down and 
fix them.

I wonder if others may run into either or both of these issues, as we have in 
Elasticsearch, if we release 9.11 with this change?

-Chris.

[1] https://github.com/apache/lucene/pull/13392
[2] https://github.com/elastic/elasticsearch/pull/109006
[3] https://github.com/elastic/elasticsearch/pull/84168

[*] HPPC-186: A different strategy has been implemented for collision avalanche 
avoidance. This results in removal of Scatter* maps and sets and their 
unification with their Hash* counterparts. This change should not affect any 
existing code unless it relied on static, specific ordering of keys. A side 
effect of this change is that key/value enumerators will return a different 
ordering of their container's values on each invocation. If your code relies on 
the order of values in associative arrays, it must order them after they are 
retrieved. (Bruno Roustant).
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to