Hello Csaba Ringhofer, Dan Hecht, I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/9576 to look at the new patch set (#3). Change subject: IMPALA-6638: Reduce file handle cache lock contention ...................................................................... IMPALA-6638: Reduce file handle cache lock contention FileHandleCache::OpenFileHandle() currently holds the lock while opening a file handle. This lengthens the duration holding the lock considerably, causing contention when a lot of file handles are being opened (i.e. when the cache is cold). This changes FileHandleCache::OpenFileHandle() drops the lock while opening the file handle, then reacquires it to add the file handle to the cache. When running a simple select on a table with 46801 Parquet files, this fixes a small performance overhead for the cold cache case compared to having the cache off. All results are averaged over 5 runs: File handle cache off: 7.19s File handle cache cold (no patch): 7.92s File handle cache cold (with patch): 7.20s When running a select that accesses and aggregates 4 columns from the same Parquet table (thus requiring more scan ranges for the same file), the fix reduces contention, particularly for the case with 8 IO threads per disk: 1 IO thread per disk: Without patch: 9.59s With patch: 8.11s 8 IO threads per disk: Without patch: 14.2s With patch: 8.17s The patch has no impact on the performance when the cache is hot. Change-Id: I4c695b21ca556e9c73c703c0c891e64939271c8d --- M be/src/runtime/io/handle-cache.inline.h 1 file changed, 37 insertions(+), 24 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/76/9576/3 -- To view, visit http://gerrit.cloudera.org:8080/9576 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I4c695b21ca556e9c73c703c0c891e64939271c8d Gerrit-Change-Number: 9576 Gerrit-PatchSet: 3 Gerrit-Owner: Joe McDonnell <joemcdonn...@cloudera.com> Gerrit-Reviewer: Csaba Ringhofer <csringho...@cloudera.com> Gerrit-Reviewer: Dan Hecht <dhe...@cloudera.com> Gerrit-Reviewer: Joe McDonnell <joemcdonn...@cloudera.com>