Github user aledsage commented on the issue:

    https://github.com/apache/brooklyn-server/pull/344
  
    Re sneaking the change into #340 - next time can you do it in a separate 
PR, even if you merge that PR yourself immediately!
    
    ---
    Maybe it is just the problem of socket `time_wait` status. But I'd have 
thought it would be more deterministic, and would fail on other environments 
(rather than just the shared jenkins) if that is the case.
    
    I guess the alternative (that the port is snapped up by another process in 
the few millisecond window) is pretty unlikely, particularly with unusual port 
numbers like this!
    
    I wonder if it could be more subtle: the socket might already be in a 
time_wait state; we call `Networking.isPortAvailable` using `setReuseAddress` 
so it works; we then call the `JmxService` without `setReuseAddress` and it 
fails because the original socket is still there in `time_wait` state. Or is 
that nonsense: does opening a socket with `setReuseAddress` cause the previous 
time_wait socket to close immediately?
    
    ---
    I don't particularly like us waiting up to 3 minutes in our test (as per 
your observation in #329 that we want tests to be fast). I'd prefer 
(medium-term) if we could retry with different port numbers instead.
    
    But happy to see if your fix works!


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to