YARN-8183. Fix ConcurrentModificationException inside RMAppAttemptMetrics#convertAtomicLongMaptoLongMap. (Suma Shivaprasad via wangda)
Change-Id: I347871d672001653a3afe2e99adefd74e0d798cd (cherry picked from commit bb3c504764f807fccba7f28298a12e2296f284cb) (cherry picked from commit 3043a93d461fd8b9ccc2ff4b8d17e5430ed77615)
This commit is contained in:
parent
1875231be5
commit
6f4ebe01b7
@ -20,6 +20,7 @@
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
import java.util.concurrent.atomic.AtomicLong;
|
||||
@ -53,8 +54,8 @@ public class RMAppAttemptMetrics {
|
||||
|
||||
private ReadLock readLock;
|
||||
private WriteLock writeLock;
|
||||
private Map<String, AtomicLong> resourceUsageMap = new HashMap<>();
|
||||
private Map<String, AtomicLong> preemptedResourceMap = new HashMap<>();
|
||||
private Map<String, AtomicLong> resourceUsageMap = new ConcurrentHashMap<>();
|
||||
private Map<String, AtomicLong> preemptedResourceMap = new ConcurrentHashMap<>();
|
||||
private RMContext rmContext;
|
||||
|
||||
private int[][] localityStatistics =
|
||||
@ -97,7 +98,7 @@ public void updatePreemptionInfo(Resource resource, RMContainer container) {
|
||||
public Resource getResourcePreempted() {
|
||||
try {
|
||||
readLock.lock();
|
||||
return resourcePreempted;
|
||||
return Resource.newInstance(resourcePreempted);
|
||||
} finally {
|
||||
readLock.unlock();
|
||||
}
|
||||
@ -229,7 +230,7 @@ public int getTotalAllocatedContainers() {
|
||||
}
|
||||
|
||||
public Resource getApplicationAttemptHeadroom() {
|
||||
return applicationHeadroom;
|
||||
return Resource.newInstance(applicationHeadroom);
|
||||
}
|
||||
|
||||
public void setApplicationAttemptHeadRoom(Resource headRoom) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user