ODE
  1. ODE
  2. ODE-100

ProcessMutex needs to release its socket more quickly

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.0-incubating
    • Fix Version/s: 1.0-incubating
    • Component/s: None
    • Labels:
      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));

      1. GUID.java
        3 kB
        Alex Boisvert

        Activity

        Dan Kearns created issue -
        Matthieu Riou made changes -
        Field Original Value New Value
        Assignee Matthieu Riou [ mriou ]
        Hide
        Matthieu Riou added a comment -

        Fixed.

        Show
        Matthieu Riou added a comment - Fixed.
        Matthieu Riou made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Fix Version/s incubator-1 [ 12312280 ]
        Resolution Fixed [ 1 ]
        Hide
        Alex Boisvert added a comment -

        I've been using the attached GUID class for some time now. It leverages the JDK 5.0 GUID class and uses a thread local counter to eliminate contention. This results in improved performance at the cost of slightly longer GUID's.

        Show
        Alex Boisvert added a comment - I've been using the attached GUID class for some time now. It leverages the JDK 5.0 GUID class and uses a thread local counter to eliminate contention. This results in improved performance at the cost of slightly longer GUID's.
        Alex Boisvert made changes -
        Attachment GUID.java [ 12353529 ]
        Matthieu Riou made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Open Open Resolved Resolved
        17h 1 Matthieu Riou 16/Mar/07 16:49
        Resolved Resolved Closed Closed
        74d 5h 16m 1 Matthieu Riou 29/May/07 23:05

          People

          • Assignee:
            Matthieu Riou
            Reporter:
            Dan Kearns
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development