[
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)