Details
-
Task
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
None
-
None
-
New
Description
Solr/contrib/analysis-extras contains the class `BooleanWeight`, which maintains two lists that are repeatedly iterated over in parallel. While both lists do have the same length, this is not immediately obvious from the locations the iterate them. A future change may lead to the lists getting our of sync, which would break the iterations. Moreover, there is no established language feature for iterating two lists, which is why the iteration is implemented differently in various locations throughout the class.
I created a patch that joins the two lists into one, which simplifies the iteration, unifies the implementation in all places, and prevents that the two lists get out of sync without becoming aware of the parallel iterations.