Uploaded image for project: 'Kudu'
  1. Kudu
  2. KUDU-3352

Malfunction in Sockaddr::HashCode() could lead to running out of connections in a busy Kudu cluster

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.13.0, 1.14.0, 1.15.0
    • 1.16.0
    • client, master, tserver
    • None

    Description

      Since the Sockaddr class has been updated to handle various address families, an issue with uninitialized memory in the storage_.in.sin_zero started affecting the behavior of the Sockaddr::HashCode() method.

      As the result, ReactorThread::FindOrStartConnection() would create a new connection to the specified remote even if a connection with the required credentials policy had already been established. In a very busy Kudu cluster that could lead to running out of connections, where an attempt to establish a new connection would fail with EADDRNOTAVAIL error (Cannot assign requested address).

      Credit goes to wzhou for detecting and troubleshooting the issue.

      Attachments

        Activity

          People

            aserbin Alexey Serbin
            aserbin Alexey Serbin
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: