Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-70068

Check if listener socket is TCP before attempting to set backlog queue length

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 6.2.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None
    • Fully Compatible
    • ALL
    • Service Arch 2022-10-03, Service Arch 2022-10-17

      Background

      When attempting to retrieve a listener socket's backlog queue length, we don't attempt to first check if the socket is TCP. The concept of a backlog queue length only exists in TCP and is not seen on Unix-domain sockets.

      Problem caused

      When starting up, the server will emit

      "Error accepting new connection","attr":{"error":"Operation not supported"}
      

      for each non-TCP listener. This will have no effect on the livelihood of these listeners, as the server swallows the error and recovers immediately.

      Solution

      Check if the socket is TCP after retrieving the acceptor record for a particular listener. If the socket is not TCP, do nothing. If it is, attempt to retrieve the backlog queue length.

            Assignee:
            jason.chan@mongodb.com Jason Chan
            Reporter:
            blake.oler@mongodb.com Blake Oler
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: