HDFS-11333. Print a user friendly error message when plugins are not found. Contributed by Wei-Chiu Chuang.
(cherry picked from commit859bd159ae
) (cherry picked from commita8531d5d52
) (cherry picked from commit4c47cb68e8
)
This commit is contained in:
parent
18dfff8a3c
commit
f133e0161c
|
@ -70,6 +70,8 @@ Release 2.7.4 - UNRELEASED
|
||||||
HDFS-10534. NameNode WebUI should display DataNode usage histogram.
|
HDFS-10534. NameNode WebUI should display DataNode usage histogram.
|
||||||
(Kai Sasaki via zhz)
|
(Kai Sasaki via zhz)
|
||||||
|
|
||||||
|
HDFS-11333. Print a user friendly error message when plugins are not found. (Wei-Chiu Chuang)
|
||||||
|
|
||||||
OPTIMIZATIONS
|
OPTIMIZATIONS
|
||||||
|
|
||||||
HDFS-10896. Move lock logging logic from FSNamesystem into FSNamesystemLock.
|
HDFS-10896. Move lock logging logic from FSNamesystem into FSNamesystemLock.
|
||||||
|
|
|
@ -769,7 +769,15 @@ public class DataNode extends ReconfigurableBase
|
||||||
}
|
}
|
||||||
|
|
||||||
private void startPlugins(Configuration conf) {
|
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) {
|
for (ServicePlugin p: plugins) {
|
||||||
try {
|
try {
|
||||||
p.start(this);
|
p.start(this);
|
||||||
|
|
|
@ -684,8 +684,15 @@ public class NameNode implements NameNodeStatusMXBean {
|
||||||
httpServer.setFSImage(getFSImage());
|
httpServer.setFSImage(getFSImage());
|
||||||
}
|
}
|
||||||
rpcServer.start();
|
rpcServer.start();
|
||||||
plugins = conf.getInstances(DFS_NAMENODE_PLUGINS_KEY,
|
try {
|
||||||
ServicePlugin.class);
|
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) {
|
for (ServicePlugin p: plugins) {
|
||||||
try {
|
try {
|
||||||
p.start(this);
|
p.start(this);
|
||||||
|
|
Loading…
Reference in New Issue