HDFS-10733 attempted to fix the issue where the Namenode process would terminate itself if it had a GC pause which lasted longer than the QJM timeout, since it would think that the QJM had taken too long to respond. However, it only bumps up the timeout expiration by one timeout length, so if the GC pause was e.g. 2x the length of the timeout, a TimeoutException will be thrown and the NN will still terminate itself.
Thanks to yangjiandan for noting this issue as a comment on
HDFS-10733; we have also seen this issue on a real cluster even after HDFS-10733 is applied.
- depends upon
HADOOP-14827 Allow StopWatch to accept a Timer parameter for tests
- is related to
HDFS-10733 NameNode terminated after full GC thinking QJM is unresponsive.