You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by zt...@apache.org on 2019/06/04 01:59:33 UTC
[hadoop] branch trunk updated: YARN-9595. FPGA plugin:
NullPointerException in
FpgaNodeResourceUpdateHandler.updateConfiguredResource(). Contributed by
Peter Bacsko.
This is an automated email from the ASF dual-hosted git repository.
ztang pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/hadoop.git
The following commit(s) were added to refs/heads/trunk by this push:
new 606061a YARN-9595. FPGA plugin: NullPointerException in FpgaNodeResourceUpdateHandler.updateConfiguredResource(). Contributed by Peter Bacsko.
606061a is described below
commit 606061aa147dc6d619d6240b7ea31d8f8f220e5d
Author: Zhankun Tang <zt...@apache.org>
AuthorDate: Tue Jun 4 09:56:59 2019 +0800
YARN-9595. FPGA plugin: NullPointerException in FpgaNodeResourceUpdateHandler.updateConfiguredResource(). Contributed by Peter Bacsko.
---
.../resourceplugin/fpga/FpgaDiscoverer.java | 5 ++--
.../resourceplugin/fpga/TestFpgaDiscoverer.java | 33 ++++++++++++++++++++++
2 files changed, 36 insertions(+), 2 deletions(-)
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/resourceplugin/fpga/FpgaDiscoverer.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/resourceplugin/fpga/FpgaDiscoverer.java
index 185effa..180a011 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/resourceplugin/fpga/FpgaDiscoverer.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/resourceplugin/fpga/FpgaDiscoverer.java
@@ -124,6 +124,7 @@ public class FpgaDiscoverer {
if (allowed == null || allowed.equalsIgnoreCase(
YarnConfiguration.AUTOMATICALLY_DISCOVER_GPU_DEVICES)) {
+ currentFpgaInfo = ImmutableList.copyOf(list);
return list;
} else if (allowed.matches("(\\d,)*\\d")){
Set<String> minors = Sets.newHashSet(allowed.split(","));
@@ -134,6 +135,8 @@ public class FpgaDiscoverer {
.filter(dev -> minors.contains(String.valueOf(dev.getMinor())))
.collect(Collectors.toList());
+ currentFpgaInfo = ImmutableList.copyOf(list);
+
// if the count of user configured is still larger than actual
if (list.size() != minors.size()) {
LOG.warn("We continue although there're mistakes in user's configuration " +
@@ -145,8 +148,6 @@ public class FpgaDiscoverer {
YarnConfiguration.NM_FPGA_ALLOWED_DEVICES + ":\"" + allowed + "\"");
}
- currentFpgaInfo = ImmutableList.copyOf(list);
-
return list;
}
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/resourceplugin/fpga/TestFpgaDiscoverer.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/resourceplugin/fpga/TestFpgaDiscoverer.java
index 92e9db2..6f570c6 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/resourceplugin/fpga/TestFpgaDiscoverer.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/resourceplugin/fpga/TestFpgaDiscoverer.java
@@ -288,6 +288,39 @@ public class TestFpgaDiscoverer {
}
}
+ @Test
+ public void testCurrentFpgaInfoWhenAllDevicesAreAllowed()
+ throws YarnException {
+ conf.set(YarnConfiguration.NM_FPGA_AVAILABLE_DEVICES,
+ "acl0/243:0,acl1/244:1");
+
+ fpgaDiscoverer.initialize(conf);
+ List<FpgaDevice> devices = fpgaDiscoverer.discover();
+ List<FpgaDevice> currentFpgaInfo = fpgaDiscoverer.getCurrentFpgaInfo();
+
+ assertEquals("Devices", devices, currentFpgaInfo);
+ }
+
+ @Test
+ public void testCurrentFpgaInfoWhenAllowedDevicesDefined()
+ throws YarnException {
+ conf.set(YarnConfiguration.NM_FPGA_AVAILABLE_DEVICES,
+ "acl0/243:0,acl1/244:1");
+ conf.set(YarnConfiguration.NM_FPGA_ALLOWED_DEVICES, "0");
+
+ fpgaDiscoverer.initialize(conf);
+ List<FpgaDevice> devices = fpgaDiscoverer.discover();
+ List<FpgaDevice> currentFpgaInfo = fpgaDiscoverer.getCurrentFpgaInfo();
+
+ assertEquals("Devices", devices, currentFpgaInfo);
+ assertEquals("List of devices", 1, currentFpgaInfo.size());
+
+ FpgaDevice device = currentFpgaInfo.get(0);
+ assertEquals("Device id", "acl0", device.getAliasDevName());
+ assertEquals("Minor number", 0, device.getMinor());
+ assertEquals("Major", 243, device.getMajor());
+ }
+
private IntelFpgaOpenclPlugin.InnerShellExecutor mockPuginShell() {
IntelFpgaOpenclPlugin.InnerShellExecutor shell = mock(IntelFpgaOpenclPlugin.InnerShellExecutor.class);
when(shell.runDiagnose(anyString(),anyInt())).thenReturn("");
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org