FileSystem.get(..) may be blocked for a long time
-------------------------------------------------

                 Key: HADOOP-6639
                 URL: https://issues.apache.org/jira/browse/HADOOP-6639
             Project: Hadoop Common
          Issue Type: Improvement
          Components: filecache
            Reporter: Tsz Wo (Nicholas), SZE


When FileSystem cache is enabled, FileSystem.get(..) will call 
FileSystem.Cache.get(..), which is a synchronized method.  If the lookup fails, 
a new instance will be initialized.   Depends on the FileSystem subclass 
implementation, the initialization may take a long time.  In such case, the 
FileSystem.Cache lock will be hold and all calls to FileSystem.get(..) by other 
threads will be blocked for a long time.

In particular, the DistributedFileSystem initialization may take a long time 
since there are retries.  It is even worst if the socket timeout is set to a 
large value.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to