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

Implement timeouts for hdfsOpenFile() calls

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: Impala 2.7.0, Impala 2.8.0, Impala 2.9.0, Impala 2.10.0, Impala 2.11.0, Impala 3.0, Impala 2.12.0
    • Fix Version/s: Impala 3.2.0
    • Component/s: Backend
    • Labels:
      None

      Description

      Currently, there is no timeout with the various HDFS calls (e.g. hdfsOpen(), hdfsRead()) we made in libhdfs.so in either the disk-io-mgr thread or scanner thread context. Various users of Impala have complaint in the past about hung queries which eventually boiled down to stuck hdfs calls. HDFS maintainers have been slow to find the root cause of those hangs. To make this kind of stuck queries problem easier to identify in the future, we should just enforce a timeout in various hdfs calls so the queries will fail when certain HDFS calls take longer than a designated timeout period.

      There may be multiple layers which this timeout can be enforced:

      • at Impala level, we can have a fixed sized thread pool which handles all hdfs calls. The existing hdfs calls will be a wrapper with a timeout.
      • at libhdfs.so, enforce a timeout at places in the HDFS client code which may block forever.

      The second option is probably beyond the charter of Apache Impala project.

      cc'ing Tim Armstrong, Joe McDonnell

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                joemcdonnell Joe McDonnell
                Reporter:
                kwho Michael Ho
              • Votes:
                0 Vote for this issue
                Watchers:
                13 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: