Yiqun Lin created HDFS-13359:
--------------------------------

             Summary: DataXceiver hungs due to the lock in 
FsDatasetImpl#getBlockInputStream
                 Key: HDFS-13359
                 URL: https://issues.apache.org/jira/browse/HDFS-13359
             Project: Hadoop HDFS
          Issue Type: Bug
          Components: datanode
    Affects Versions: 3.0.0
            Reporter: Yiqun Lin
            Assignee: Yiqun Lin


DataXceiver hungs due to the lock that locked by 
{{FsDatasetImpl#getBlockInputStream}}.
{code}
  @Override // FsDatasetSpi
  public InputStream getBlockInputStream(ExtendedBlock b,
      long seekOffset) throws IOException {

    ReplicaInfo info;
    synchronized(this) {
      info = volumeMap.get(b.getBlockPoolId(), b.getLocalBlock());
    }
    ...
  }
{code}
The lock {{synchronized(this)}} used here is expensive, there is already one 
{{AutoCloseableLock}} type lock defined for {{ReplicaMap}}. We can use it 
instead.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-dev-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-dev-h...@hadoop.apache.org

Reply via email to