HDFS-14610. HashMap is not thread safe. Field storageMap is typically synchronized by storageMap. However, in one place, field storageMap is not protected with synchronized. (#1015)
(cherry picked from commit d8bac50e12d243ef8fd2c7e0ce5c9997131dee74) (cherry picked from commit 76a91359475444cb6d415e5056430c0e743b88ee)
This commit is contained in:
parent
122b02e288
commit
d95dd33ea1
@ -451,8 +451,11 @@ private void updateStorageStats(StorageReport[] reports, long cacheCapacity,
|
||||
this.volumeFailureSummary = volumeFailureSummary;
|
||||
for (StorageReport report : reports) {
|
||||
|
||||
DatanodeStorageInfo storage =
|
||||
storageMap.get(report.getStorage().getStorageID());
|
||||
DatanodeStorageInfo storage = null;
|
||||
synchronized (storageMap) {
|
||||
storage =
|
||||
storageMap.get(report.getStorage().getStorageID());
|
||||
}
|
||||
if (checkFailedStorages) {
|
||||
failedStorageInfos.remove(storage);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user