Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.0-incubating
-
None
-
None
Description
On startup, Ode creates a GUID generator. The GUID generator uses posession of a socket at a particular time as a mutex to guarantee the time seed. However, it is using the default socket options to do this, which prevents rapid multiple spinup and/or restart of the processes embedding Ode as the socket is stuck in TIME_WAIT by the operating system.
Fix: in ProcessMutex.java:lock(), swap:
ss = new ServerSocket(port);
for
ss = new ServerSocket();
ss.setReuseAddress(true);
ss.bind(new InetSocketAddress(port));