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

Socket library send/recv failpoints do not inhibit data transfer when activated

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Minor - P4 Minor - P4
    • 2.4.0-rc1
    • Affects Version/s: 2.3.2
    • Component/s: Internal Code
    • Labels:
    • Fully Compatible
    • ALL

      The socket library in util/net/sock.cpp provides failpoints for calls into its send and recv methods. However, when enabled, these failpoints do not actually prevent the syscall from executing: they only cause the return value of the send or recv syscall to be ignored and force a branch into the error handling logic.

      This makes the failpoints potentially not useful: A test trying to use the failpoints to simulate a network partition, for instance, would see a socket error in the caller, but the intended recipient would actually see the sent data.

      When enabled, the socket send/recv failpoints should inhibit data transfer.

            andrew.morrow@mongodb.com Andrew Morrow (Inactive)
            andrew.morrow@mongodb.com Andrew Morrow (Inactive)
            0 Vote for this issue
            1 Start watching this issue