Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
0.22.0
-
None
-
None
Description
In HDFS-884, I proposed printing out more details on why things fail. This is hard to test, because you need to subvert the log4j back end that your test harness will itself have grabbed.
There is a way to make it testable, and to make it easier for anyone creating datanodes in process to recognise and handle failure: have a static CreateDatanode() method that throws exceptions when directories cannot be created or other problems arise. Right now some problems trigger failure, others just return a null reference saying "something went wrong but we won't tell you what -hope you know where the logs go".
The HDFS-884 patch would be replaced by something that threw an exception; the existing methods would catch this, log it and return null. The new method would pass it straight up.
This is easier to test, better for others. If people think this is good, I will code it up and mark the old API as deprecated.
Attachments
Issue Links
- incorporates
-
HDFS-884 DataNode makeInstance should report the directory list when failing to start up
- Resolved