YARN-6515. Fix warnings from Spotbugs in hadoop-yarn-server-nodemanager. Contributed by Naganarasimha G R.

This commit is contained in:
Akira Ajisaka 2017-08-09 21:56:34 +09:00
parent 8a4bff02c1
commit 1a18d5e514
No known key found for this signature in database
GPG Key ID: C1EDBB9CA400FD50
3 changed files with 14 additions and 14 deletions

View File

@ -639,7 +639,6 @@ public void addCompletedContainer(ContainerId containerId) {
public void removeOrTrackCompletedContainersFromContext( public void removeOrTrackCompletedContainersFromContext(
List<ContainerId> containerIds) throws IOException { List<ContainerId> containerIds) throws IOException {
Set<ContainerId> removedContainers = new HashSet<ContainerId>(); Set<ContainerId> removedContainers = new HashSet<ContainerId>();
Set<ContainerId> removedNullContainers = new HashSet<ContainerId>();
pendingContainersToRemove.addAll(containerIds); pendingContainersToRemove.addAll(containerIds);
Iterator<ContainerId> iter = pendingContainersToRemove.iterator(); Iterator<ContainerId> iter = pendingContainersToRemove.iterator();
@ -649,7 +648,6 @@ public void removeOrTrackCompletedContainersFromContext(
Container nmContainer = context.getContainers().get(containerId); Container nmContainer = context.getContainers().get(containerId);
if (nmContainer == null) { if (nmContainer == null) {
iter.remove(); iter.remove();
removedNullContainers.add(containerId);
} else if (nmContainer.getContainerState().equals( } else if (nmContainer.getContainerState().equals(
org.apache.hadoop.yarn.server.nodemanager.containermanager.container.ContainerState.DONE)) { org.apache.hadoop.yarn.server.nodemanager.containermanager.container.ContainerState.DONE)) {
context.getContainers().remove(containerId); context.getContainers().remove(containerId);
@ -712,11 +710,12 @@ public void clearFinishedContainersFromCache() {
public void removeVeryOldStoppedContainersFromCache() { public void removeVeryOldStoppedContainersFromCache() {
synchronized (recentlyStoppedContainers) { synchronized (recentlyStoppedContainers) {
long currentTime = System.currentTimeMillis(); long currentTime = System.currentTimeMillis();
Iterator<ContainerId> i = Iterator<Entry<ContainerId, Long>> i =
recentlyStoppedContainers.keySet().iterator(); recentlyStoppedContainers.entrySet().iterator();
while (i.hasNext()) { while (i.hasNext()) {
ContainerId cid = i.next(); Entry<ContainerId, Long> mapEntry = i.next();
if (recentlyStoppedContainers.get(cid) < currentTime) { ContainerId cid = mapEntry.getKey();
if (mapEntry.getValue() < currentTime) {
if (!context.getContainers().containsKey(cid)) { if (!context.getContainers().containsKey(cid)) {
i.remove(); i.remove();
try { try {

View File

@ -17,6 +17,8 @@
*/ */
package org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer; package org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer;
import static org.apache.hadoop.util.Shell.getAllShells;
import java.io.DataInputStream; import java.io.DataInputStream;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
@ -30,6 +32,7 @@
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import java.util.Set; import java.util.Set;
import java.util.Stack; import java.util.Stack;
import java.util.concurrent.Callable; import java.util.concurrent.Callable;
@ -81,8 +84,6 @@
import com.google.common.annotations.VisibleForTesting; import com.google.common.annotations.VisibleForTesting;
import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.google.common.util.concurrent.ThreadFactoryBuilder;
import static org.apache.hadoop.util.Shell.getAllShells;
public class ContainerLocalizer { public class ContainerLocalizer {
static final Log LOG = LogFactory.getLog(ContainerLocalizer.class); static final Log LOG = LogFactory.getLog(ContainerLocalizer.class);
@ -348,13 +349,13 @@ private LocalizerStatus createStatus() throws InterruptedException {
final List<LocalResourceStatus> currentResources = final List<LocalResourceStatus> currentResources =
new ArrayList<LocalResourceStatus>(); new ArrayList<LocalResourceStatus>();
// TODO: Synchronization?? // TODO: Synchronization??
for (Iterator<LocalResource> i = pendingResources.keySet().iterator(); for (Iterator<Entry<LocalResource, Future<Path>>> i =
i.hasNext();) { pendingResources.entrySet().iterator(); i.hasNext();) {
LocalResource rsrc = i.next(); Entry<LocalResource, Future<Path>> mapEntry = i.next();
LocalResourceStatus stat = LocalResourceStatus stat =
recordFactory.newRecordInstance(LocalResourceStatus.class); recordFactory.newRecordInstance(LocalResourceStatus.class);
stat.setResource(rsrc); stat.setResource(mapEntry.getKey());
Future<Path> fPath = pendingResources.get(rsrc); Future<Path> fPath = mapEntry.getValue();
if (fPath.isDone()) { if (fPath.isDone()) {
try { try {
Path localPath = fPath.get(); Path localPath = fPath.get();

View File

@ -130,7 +130,7 @@ public class ContainerMetrics implements MetricsSource {
/** /**
* Simple metrics cache to help prevent re-registrations. * Simple metrics cache to help prevent re-registrations.
*/ */
protected final static Map<ContainerId, ContainerMetrics> private final static Map<ContainerId, ContainerMetrics>
usageMetrics = new HashMap<>(); usageMetrics = new HashMap<>();
// Create a timer to unregister container metrics, // Create a timer to unregister container metrics,
// whose associated thread run as a daemon. // whose associated thread run as a daemon.