Details
-
Bug
-
Status: Resolved
-
Critical
-
Resolution: Fixed
-
2.1.0
-
None
Description
If the HAState metric is not returned as part of the metrics/dfs for a host component, then the Ambari Web Client with produce a JavaScript error on the HDFS page and prevent it from loading properly. Many actions will be unavailable, such as restart.
My assessment of this was that the web client was asking the Ambari server to get information on the NameNode components - it needs to check if the HA state was ACTIVE or STANDBY.
We convert this from a JMX metric into an ambari metric:
"metrics/dfs/FSNamesystem/HAState": { "metric": "Hadoop:service=NameNode,name=FSNamesystem.tag#HAState", "pointInTime": true, "temporal": false },
So that the FSNamesystem/tag.HAState is converted into metrics/dfs/FSNameSystem/HAState.
The problem here seemed to be that one of the HDFS NN's didn't include tag.HAState in its JMX. Because of that, the Ambari metric was missing which caused a JavaScript dereference error in the web client.
The problem originated in HDFS, but the web client should probably have a bug filed to check its JSON before de-referencing. I can file that bug tomorrow.