Aleksandr Kovalenko created AMBARI-13945:
--------------------------------------------
Summary: Missing HDFS tag.HAState JMX Metric Causes JavaScript
Errors
Key: AMBARI-13945
URL: https://issues.apache.org/jira/browse/AMBARI-13945
Project: Ambari
Issue Type: Bug
Components: ambari-web
Affects Versions: 2.1.0
Reporter: Aleksandr Kovalenko
Assignee: Aleksandr Kovalenko
Priority: Critical
Fix For: 2.1.3
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:
{code:title=HDFS/metrics.json}
"metrics/dfs/FSNamesystem/HAState": {
"metric": "Hadoop:service=NameNode,name=FSNamesystem.tag#HAState",
"pointInTime": true,
"temporal": false
},
{code}
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.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)