spapin opened a new pull request, #18858:
URL: https://github.com/apache/pinot/pull/18858

   ControllerTest handed out ports via hard-coded values and shared lock files, 
which collided when test forks ran concurrently (and across modules under `mvn 
-T`), surfacing as flaky "Failed to start http server" and ZooKeeper 
connect-timeout failures during setUp.
   
   Replace it with a per-fork-JVM port allocator: each fork claims a disjoint 
slice of a sub-ephemeral range by binding a reservation socket it holds open 
for the JVM's whole life. The kernel grants exactly one binder, so the claim is 
a race-free mutex released automatically on JVM exit -- no shared files, no 
stale-state cleanup, correct across modules. A no-SO_REUSEADDR bind probe skips 
ports held by unrelated processes, and ZooKeeper/controller starts retry on a 
fresh port to ride out the probe-to-bind race. 
`PinotTaskManagerDistributedLockingTest` and `ControllerStarterDynamicEnvTest` 
are updated to use the allocator.


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