Uploaded image for project: 'IMPALA'
  1. IMPALA
  2. IMPALA-3575

Impala should retry backend connection request and apply a send timeout

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: Impala 2.2
    • Fix Version/s: Impala 2.7.0
    • Component/s: Distributed Exec
    • Labels:
      None

      Description

      Impala doesn't retry backend thrift connection request. If for any reason (another end too busy, high concurrent requests, crapy network), it cannot open a connection, it will return failure and the query will fail.

      It would be nice to add a configurable retry number to let impala retry connecting to increase the connection success in above mentioned situation.

      Also there is no timeout for sending and receiving data. Impala will wait forever if send or recv don't return. This is a reasonable choice for recv because we want to use back pressure to slow down downstream operator if upstream one cannot catch up. but for I don't think it makes sense for send. send could hung. A relative large send timeout could help Impala detect connection issues and fail query asap.

      ClientCache already supports both retry and timeout parameter when creating a connection. it's very easy to add some configs for retry and timeout.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                jyu@cloudera.com Juan Yu
                Reporter:
                jyu@cloudera.com Juan Yu
              • Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: