hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Steve Loughran (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HADOOP-7016) Optimize locking codepath in LocalDirAllocator.getLocalPathToRead() and reduce creating many Path objects
Date Fri, 03 Mar 2017 18:58:47 GMT

     [ https://issues.apache.org/jira/browse/HADOOP-7016?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Steve Loughran updated HADOOP-7016:
      Priority: Minor  (was: Major)
    Issue Type: Improvement  (was: Bug)

> Optimize locking codepath in LocalDirAllocator.getLocalPathToRead() and reduce creating
many Path objects
> ---------------------------------------------------------------------------------------------------------
>                 Key: HADOOP-7016
>                 URL: https://issues.apache.org/jira/browse/HADOOP-7016
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: fs
>    Affects Versions: 0.20.2
>            Reporter: Rajesh Balamohan
>            Assignee: Rajesh Balamohan
>            Priority: Minor
>         Attachments: HADOOP-7016-v2.Yahoo.patch, HADOOP-7016-v3.Yahoo.patch, HADOOP-7016-Yahoo.patch
> LocalDirAllocator.getLocalPathToRead() is called from TaskTracker to retrieve temporary
map output location. This method is synchronized and amount of time spent on this method directly
affects the performance of TaskTracker's ability to serve faster.  This JIRA is created to
reduce the additional fat in getLocalPathToRead() and reduce creating the number of Path obejcts
which are expensive.
> 1. getLocalPathToRead() internally calls RawLocalFileSystem.exists() in order to check
the existence of a local file. RawLocalFileSystem.exists() internally creates a FileStatus
object which needs to be populated with lastModified, length, directory details etc. This
might not be necessary for just checking  file existence.
> 2. Creating a Path object out of a string requires fair amount of processing. It might
be worth to store "localDirsPath" in LocalDirAllocator instead of storing "localDirs". This
would avoid the number of times Path() object is created in LocalDirAllocator.
> Any other codepath using LocalDirAllocator would also benefit from the above 2 optimizations.
> The attached patch addresses the above 2 issues.

This message was sent by Atlassian JIRA

To unsubscribe, e-mail: common-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-issues-help@hadoop.apache.org

View raw message