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

File handle cache shows contention when cold

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: Impala 2.12.0
    • Fix Version/s: Impala 2.12.0
    • Component/s: Backend
    • Labels:
      None

      Description

      Performance tests show that when the file handle cache is cold, there is contention on the file handle cache partition lock. This added contention is particularly severe when there are multiple IO threads accessing the same file (e.g. when there is a query accessing multiple Parquet columns). This is because the IO threads all map to the same partition because they are accessing the same file.

      The contention is due to the fact that FileHandleCache::GetFileHandle() holds the lock while it opens the file handle. This lengthens the critical section considerably, because opening a file handle involves network traffic to the NameNode. This contention does not exist when the cache is hot.

      FileHandleCache::GetFileHandle() should drop the lock while it is opening the file handle.

        Attachments

          Activity

            People

            • Assignee:
              joemcdonnell Joe McDonnell
              Reporter:
              joemcdonnell Joe McDonnell
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: