glassfish
  1. glassfish
  2. GLASSFISH-7109

[JDK ISSUE] GlassFish performance degradation caused by invoking setSoLinger/setReuseAddress

    Details

    • Issuezilla Id:
      7,109
    • Status Whiteboard:
      Hide

      V2.1.1_exclude

      Show
      V2.1.1_exclude

      Description

      [Umbrella bug for JDK 5/6/7 issue 6799574)

      Grizzly is suffering performance degradation when setSoLinger and setReuseAddess
      starts throwing the following exception:

      [#|2009-01-26T00:33:56.325-0800|WARNING|sun-appserver9.1|javax.enterprise.system.container.web|_ThreadID=17;_ThreadName=SelectorReaderThread-8084;_RequestID=11ae0030-c392-4217-8408-cfa7efe0a879;|setSoLinger
      exception
      java.net.SocketException: Invalid argument
      at sun.nio.ch.Net.setIntOption0(Native Method)
      at sun.nio.ch.Net.setSocketOption(Net.java:261)
      at sun.nio.ch.SocketChannelImpl.setOption(SocketChannelImpl.java:166)
      at sun.nio.ch.SocketAdaptor.setIntOption(SocketAdaptor.java:296)
      at sun.nio.ch.SocketAdaptor.setSoLinger(SocketAdaptor.java:331)
      at
      com.sun.enterprise.web.connector.grizzly.SelectorThread.setSocketOptions(SelectorThread.java:1893)
      at
      com.sun.enterprise.web.connector.grizzly.SelectorReadThread.registerNewChannels(SelectorReadThread.java:93)
      at
      com.sun.enterprise.web.connector.grizzly.SelectorReadThread.startEndpoint(SelectorReadThread.java:121)
      at
      com.sun.enterprise.web.connector.grizzly.SelectorThread.run(SelectorThread.java:1223)

      #]

      [#|2009-01-26T00:33:56.327-0800|WARNING|sun-appserver9.1|javax.enterprise.system.container.web|_ThreadID=17;_ThreadName=SelectorReaderThread-8084;_RequestID=11ae0030-c392-4217-8408-cfa7efe0a879;|setReuseAddress
      exception
      java.net.SocketException: Invalid argument
      at sun.nio.ch.Net.setIntOption0(Native Method)
      at sun.nio.ch.Net.setSocketOption(Net.java:261)
      at sun.nio.ch.SocketChannelImpl.setOption(SocketChannelImpl.java:166)
      at sun.nio.ch.SocketAdaptor.setBooleanOption(SocketAdaptor.java:286)
      at sun.nio.ch.SocketAdaptor.setReuseAddress(SocketAdaptor.java:399)
      at
      com.sun.enterprise.web.connector.grizzly.SelectorThread.setSocketOptions(SelectorThread.java:1910)
      at
      com.sun.enterprise.web.connector.grizzly.SelectorReadThread.registerNewChannels(SelectorReadThread.java:93)
      at
      com.sun.enterprise.web.connector.grizzly.SelectorReadThread.startEndpoint(SelectorReadThread.java:121)
      at
      com.sun.enterprise.web.connector.grizzly.SelectorThread.run(SelectorThread.java:1223)

      #]

      This has been discussed here:

      https://glassfish.dev.java.net/servlets/ReadMsg?listName=users&msgNo=26597

      One user reported: ..that these errors are harmless, however, as you can see
      below, the throughput of my application was reduced by 50% in the minutes
      surrounding the spurt of errors:

      minute requests setSoLinger/setReuseAddress exceptions
      ----- ----- -
      14:23 7620 0
      14:24 10063 0
      14:25 9714 0
      14:26 8847 0
      14:28 7370 0
      14:29 9787 0
      14:30 9104 0
      14:31 8171 0
      14:32 4066 15 errors in two groups: 8 @ 14:32:33 and 7 @ 14:32:58
      14:33 6908 0
      14:34 10463 0
      14:35 9870 0
      14:36 8236 0
      14:37 8685 0
      14:38 8098 0

      My application constantly serves 200-350 requests per second - and has been
      doing so for 1 week now. This is the only incident that any errors have been
      thrown since the application began operation.

        Activity

        Hide
        Gail Risdal added a comment -

        Added to v3 Release Notes.

        Show
        Gail Risdal added a comment - Added to v3 Release Notes.
        Hide
        Gail Risdal added a comment -

        Closed prematurely. Reopened to enable code fix.

        Show
        Gail Risdal added a comment - Closed prematurely. Reopened to enable code fix.
        Hide
        Gail Risdal added a comment -

        Reassigned to enable code fix.

        Show
        Gail Risdal added a comment - Reassigned to enable code fix.
        Hide
        Paul Davies added a comment -

        This issue was noted as required in the Release Notes. I have changed the subcomponent to enable engineering to resolve or close this bug as necessary.

        Show
        Paul Davies added a comment - This issue was noted as required in the Release Notes. I have changed the subcomponent to enable engineering to resolve or close this bug as necessary.
        Hide
        Tom Mueller added a comment -

        Bulk update to change fix version to "not determined" for all issues still open but with a fix version for a released version.

        Show
        Tom Mueller added a comment - Bulk update to change fix version to "not determined" for all issues still open but with a fix version for a released version.

          People

          • Assignee:
            oleksiys
            Reporter:
            jfarcand
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated: