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.