|
From: Duncan P. <no...@gi...> - 2026-08-18 08:40:36
|
Branch: refs/heads/develop Home: https://github.com/eXist-db/exist Commit: d3f2d8a5c02bfc3ace6f4a4281015b655d5208a5 https://github.com/eXist-db/exist/commit/d3f2d8a5c02bfc3ace6f4a4281015b655d5208a5 Author: Juri Leino <gi...@li...> Date: 2026-08-12 (Wed, 12 Aug 2026) Changed paths: M exist-core/src/test/java/org/exist/http/RESTExecuteWithoutReadTest.java Log Message: ----------- [test] Poll for shared-pool visibility instead of asserting it synchronously RESTExecuteWithoutReadTest asserted that a compiled query was already back in the shared XQueryPool immediately after the test's HTTP client finished reading a response. But RESTServer#executeXQuery only returns the compiled query to the pool after serializing the response and running context cleanup, on the server's request thread — which can still be unwinding after the client, on a different thread, has already read the full response. There is no happens-before edge between "client saw the response" and "server returned the entry to the pool", so the assertion raced the server's cleanup and intermittently lost under CI's more contended scheduling (observed failing repeatedly on develop, unrelated to any particular PR). Reordering the production code to return the entry earlier is not a safe fix: it would let a second concurrent caller borrow the same compiled query while this thread is still serializing/cleaning it up. Add awaitPooledQuery(), a short bounded poll, and use it wherever a test reads pool state right after an HTTP round trip. Commit: ba48b8de36bc92c70cac527a792afbae948eb06a https://github.com/eXist-db/exist/commit/ba48b8de36bc92c70cac527a792afbae948eb06a Author: Duncan Paterson <dun...@us...> Date: 2026-08-18 (Tue, 18 Aug 2026) Changed paths: M exist-core/src/test/java/org/exist/http/RESTExecuteWithoutReadTest.java Log Message: ----------- Merge pull request #6635 from line-o/fix/6594-pool-visibility-race [test] Poll for shared-pool visibility instead of asserting it synchronously Compare: https://github.com/eXist-db/exist/compare/6a1086d02b91...ba48b8de36bc To unsubscribe from these emails, change your notification settings at https://github.com/eXist-db/exist/settings/notifications |