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

Ted Yu updated HDFS-7261:
-------------------------
    Description: 
Here is the code:
{code}
      failedStorageInfos = new HashSet<DatanodeStorageInfo>(
          storageMap.values());
{code}

In other places, the lock on "DatanodeDescriptor.storageMap" is held:
{code}
    synchronized (storageMap) {
      final Collection<DatanodeStorageInfo> storages = storageMap.values();
      return storages.toArray(new DatanodeStorageInfo[storages.size()]);
    }
{code}

  was:
Here is the code:
{code}
      failedStorageInfos = new HashSet<DatanodeStorageInfo>(
          storageMap.values());
{code}
In other places, the lock on "DatanodeDescriptor.storageMap" is held:
{code}
    synchronized (storageMap) {
      final Collection<DatanodeStorageInfo> storages = storageMap.values();
      return storages.toArray(new DatanodeStorageInfo[storages.size()]);
    }
{code}


> storageMap is accessed without synchronization in 
> DatanodeDescriptor#updateHeartbeatState()
> -------------------------------------------------------------------------------------------
>
>                 Key: HDFS-7261
>                 URL: https://issues.apache.org/jira/browse/HDFS-7261
>             Project: Hadoop HDFS
>          Issue Type: Bug
>            Reporter: Ted Yu
>            Priority: Minor
>
> Here is the code:
> {code}
>       failedStorageInfos = new HashSet<DatanodeStorageInfo>(
>           storageMap.values());
> {code}
> In other places, the lock on "DatanodeDescriptor.storageMap" is held:
> {code}
>     synchronized (storageMap) {
>       final Collection<DatanodeStorageInfo> storages = storageMap.values();
>       return storages.toArray(new DatanodeStorageInfo[storages.size()]);
>     }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to