Steps to reproduce -
- You would need two index definitions of same query index type , let's say fullText index , having similar cost evaluations.
- Now while the index plan is evaluated you will notice that there should have been a debug log saying that selected index has similar cost - this serves as an important warning to either change the index definitions or the query (https://github.com/apache/jackrabbit-oak/blob/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java#L1069#L1072)
However If we have a look at this code block here - https://github.com/apache/jackrabbit-oak/blob/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java#L1017#L1041 , there is no comparison for near best costs for index plans having same query index type .
cc : Tommaso Teofili