Description
Add a NULL check to protect the situation below(may only happened in the case of unit test):
1.A new datanode register to SCM.
2. There is no container allocated in the new datanode temporarily.
3.The new datanode dead and an event was fired to DeadNodeHandler
4.In function DeadNodeHandler#onMessage, there will get nothing in node2ContainerMap and containers will be NULL
5.NullPointerException will be throwen in the following iterate of containers like:
[ERROR] Tests run: 2, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.535 s <<< FAILURE! - in org.apache.hadoop.hdds.scm.node.TestDeadNodeHandler [ERROR] testStatisticsUpdate(org.apache.hadoop.hdds.scm.node.TestDeadNodeHandler) Time elapsed: 0.33 s <<< ERROR! java.lang.NullPointerException at org.apache.hadoop.hdds.scm.node.DeadNodeHandler.onMessage(DeadNodeHandler.java:68) at org.apache.hadoop.hdds.scm.node.TestDeadNodeHandler.testStatisticsUpdate(TestDeadNodeHandler.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498)