nick-boss-tech commented on PR #5301: URL: https://github.com/apache/solr/pull/5301#issuecomment-6673432147
🤖 *AI text below* 🤖 *(reviewed by Nick Shanin)* I found another ordering case during session replacement: if the replacement's `Disconnected` is applied before its delayed `SyncConnected`, the connected callback is correctly rejected. If that session then expires, its expiration callback waits behind the reconnect callback that is still waiting for a connection. The [follow-up on your exact head](https://github.com/nick-boss-tech/solr/compare/01e820f0539cddc4697d26176d216614a776a99a...dfde9bde0a348ad44e6f6ceec197d478ef11bfd0) lets the connection wait detect a terminal replacement and retry, while retaining your sequence guard. It adds five ordinary deterministic tests. The nightly stress test waits for disconnect processing and uses `halfClose()` to drop client connections while keeping its proxy listener open. Verified on Linux at `dfde9bde0a348ad44e6f6ceec197d478ef11bfd0`, seed `5301C0DE`: - Five focused tests and nine neighboring tests passed; one existing ignored test remains skipped. - The enabled nightly stress test passed twice, each covering 25 flaps/expirations. Reverting only its proxy driver to close/reopen reproduced the expiration-recovery failure with connection-refused responses. - Restoring your original `ConnectionManager.java` made the replacement-expiration test fail at its bounded recovery assertion. A separate accept-all mutation failed all three stale-state tests. The fifth in-order test is positive coverage only. - Tidy, source-pattern validation, changelog generation and `check -x test` passed. Error Prone compilation passed with `-Pjavac.failOnWarnings=false`: its only warning is the existing `FloatRangeFieldTest.java:328` precision warning, also reproduced at your head. No new diagnostic appeared. The branch preserves your commit ancestry. To take the tested changes: ```sh git switch SOLR-18623-connection-manager-event-ordering git fetch https://github.com/nick-boss-tech/solr.git solr-18623-reconnect-liveness git merge --ff-only dfde9bde0a348ad44e6f6ceec197d478ef11bfd0 ``` -- 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]
