jeho-rpls opened a new pull request, #16401:
URL: https://github.com/apache/lucene/pull/16401

   Fixes #16397.
   
   The tests asserted that rollback() returns within 10 seconds, which needed 
big segments (4 x 12k docs, beam width 250) to stay reliable, about 50s per 
test.
   
   Changes:
   
   * Instead of asserting on elapsed time, each test now asserts through 
InfoStream that the graph build never ran to completion. To make that 
deterministic at any size, the test InfoStream holds the merge thread at the 
"build graph" message until IndexWriter#abortMerges has marked the merge 
aborted, signaled by the "now wait for N running merge/s to abort" message.
   * The abort exception is not asserted on: it is swallowed as expected 
control flow, and a small unchecked build can finish without throwing, since 
merge outputs are only checked for abort about once per written megabyte per 
file.
   * MergingHnswGraphBuilder now emits a completion message like the other two 
builders ("addVectors [...)", "merge completed: ..."), so the graph join path 
has a completion signal to assert on.
   * Each test asserts on the "build graph" start message to pin its intended 
merge path (full rebuild, graph join, concurrent with 2 workers).
   * Segments shrink to 1k docs per segment, beam width to 100, with 
tinySegmentsThreshold=0 so a graph is always built.
   
   Testing:
   
   * With the abort check removed, all three tests fail on completion messages. 
The unchecked builds finished in 0.6-1.0s at this size, under the old 10s 
limit, so shrinking alone would have left the timing assertion passing.
   * -Dtests.iters=20: 60/60 pass.
   * Suite time: 63s before, 1.6s after on my machine (about 154s on the 
machine in #16397).
   


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