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

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 6.2.0-rc0
    • None
    • None
    • None
    • Fully Compatible
    • ALL
    • Service Arch 2022-10-03, Service Arch 2022-10-17

    Description

      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.

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: