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

Remove CURL share support from HTTP curl client

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: 4.0.22, 4.4.3, 4.2.12
    • Fix Version/s: 4.9.0, 4.2.13, 4.4.5, 4.0.24
    • Component/s: None
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Backport Requested:
      v4.4, v4.2, v4.0
    • Sprint:
      Security 2021-02-22, Security 2021-03-08
    • Case:
    • Linked BF Score:
      0

      Description

      libcurl's share feature, which is used for a shared connection cache, is not thread safe. This is typically used to support HTTP keep-alive connections. It needs to be removed to improved the stability of the HTTP client when used by multiple threads. This only affects queryable restore. It needs to be backported to all affected versions.

      The libcurl documentation (https://curl.se/libcurl/c/curl_share_setopt.html) states

      Note that due to a known bug, it is not safe to share connections this way between multiple concurrent threads.

      which was added as part of https://github.com/curl/curl/issues/4915.

      This was originally added for SERVER-38493 but the libcurl concurrency issues were not discovered until after SERVER-38493 was complete.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              mark.benvenuto Mark Benvenuto
              Reporter:
              mark.benvenuto Mark Benvenuto
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              10 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: