dweiss commented on PR #16030:
URL: https://github.com/apache/lucene/pull/16030#issuecomment-5790545465

   Hello folks! There are problems with this patch - the tests are flaky, 
that's one thing (CI builds collected a lot of failures), but also the patch 
itself seems to have issues as the LLM pointed out (edited, slightly):
   
   ```
    - testDataBlindFloat16IncompatibleEncodingMerge with seed 173AB57636911C73 
expects the merge of two data-blind segments with different encodings to throw,
       but no exception is thrown. The infostream shows the third writer drew 
MockRandomMergePolicy, which wraps merge inputs in a SlowCodecReaderWrapper. The
       writer's hasRawVectorValues check only recognizes an unwrapped 
Lucene104ScalarQuantizedVectorsReader. For anything else it asks the reader for 
float
       values, and a data-blind segment happily serves its dequantizing view, 
so the writer concludes raw floats exist and re-quantizes them. The merge 
succeeds
       silently. This also explains the PR author's observation that the mock 
policy "rejects" forceMerge. It does not reject anything. The merge runs through
       a wrapped reader that defeats the detection.
   
     [...] the same bypass applies in production whenever merge inputs are 
wrapped.
     Index sorting is the obvious case, since sorted merges hand the writer a 
SortingCodecReader. Under that wrapper a data-blind segment is dequantized and
     quantized again on every merge, which is exactly the precision loss the 
format is meant to avoid, and an incompatible encoding is merged without the
     intended error.
   ```
   
   I wonder if we should revert this patch and reapply it cleanly, once the 
tests and other lurking issues are confirmed fixed because they do seem rather 
significant... 
   
   I'd also recommend using "beasting" 50 or 100 times - it really catches a 
lot of these gotchas (as described in help/tests.md).
   
   ```
   ./gradlew -p lucene/core beast -Ptests.dups=50 --tests "TestLucene104*" 
-Ptests.haltonfailure=true
   ```


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to