HDFS-11333. Print a user friendly error message when plugins are not found. Contributed by Wei-Chiu Chuang.

(cherry picked from commit 859bd159ae)
(cherry picked from commit a8531d5d52)
(cherry picked from commit 4c47cb68e8)
This commit is contained in:
Wei-Chiu Chuang 2017-02-15 03:05:01 -08:00
parent 18dfff8a3c
commit f133e0161c
3 changed files with 20 additions and 3 deletions

View File

@ -70,6 +70,8 @@ Release 2.7.4 - UNRELEASED
HDFS-10534. NameNode WebUI should display DataNode usage histogram.
(Kai Sasaki via zhz)
HDFS-11333. Print a user friendly error message when plugins are not found. (Wei-Chiu Chuang)
OPTIMIZATIONS
HDFS-10896. Move lock logging logic from FSNamesystem into FSNamesystemLock.

View File

@ -769,7 +769,15 @@ public class DataNode extends ReconfigurableBase
}
private void startPlugins(Configuration conf) {
plugins = conf.getInstances(DFS_DATANODE_PLUGINS_KEY, ServicePlugin.class);
try {
plugins = conf.getInstances(DFS_DATANODE_PLUGINS_KEY,
ServicePlugin.class);
} catch (RuntimeException e) {
String pluginsValue = conf.get(DFS_DATANODE_PLUGINS_KEY);
LOG.error("Unable to load DataNode plugins. Specified list of plugins: " +
pluginsValue, e);
throw e;
}
for (ServicePlugin p: plugins) {
try {
p.start(this);

View File

@ -684,8 +684,15 @@ public class NameNode implements NameNodeStatusMXBean {
httpServer.setFSImage(getFSImage());
}
rpcServer.start();
plugins = conf.getInstances(DFS_NAMENODE_PLUGINS_KEY,
ServicePlugin.class);
try {
plugins = conf.getInstances(DFS_NAMENODE_PLUGINS_KEY,
ServicePlugin.class);
} catch (RuntimeException e) {
String pluginsValue = conf.get(DFS_NAMENODE_PLUGINS_KEY);
LOG.error("Unable to load NameNode plugins. Specified list of plugins: " +
pluginsValue, e);
throw e;
}
for (ServicePlugin p: plugins) {
try {
p.start(this);