Details
-
Task
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.0.0
-
None
Description
Currently response for http://c6401.ambari.apache.org:8080/api/v1/clusters/c/alert_definitions?fields=* is:
{ "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c/alert_definitions?fields=*", "items" : [ { "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c/alert_definitions/1", "AlertDefinition" : { "cluster_name" : "c", "component_name" : "HISTORYSERVER", "enabled" : true, "id" : 1, "interval" : 1, "label" : "History Server Web UI", "name" : "mapreduce_history_server_webui", "scope" : "ANY", "service_name" : "MAPREDUCE2", "source" : { "type" : "WEB" } } }...
but response for http://c6401.ambari.apache.org:8080/api/v1/clusters/c/alert_definitions/1 is:
{ "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c/alert_definitions/1", "AlertDefinition" : { "cluster_name" : "c", "component_name" : "HISTORYSERVER", "enabled" : true, "id" : 1, "interval" : 1, "label" : "History Server Web UI", "name" : "mapreduce_history_server_webui", "scope" : "ANY", "service_name" : "MAPREDUCE2", "source" : { "reporting" : { "ok" : { "text" : "HTTP {0} response in {3:.4f} seconds" }, "warning" : { "text" : "HTTP {0} response in {3:.4f} seconds" }, "critical" : { "text" : "Connection failed to {1}:{2}" } }, "type" : "WEB", "uri" : { "http" : "{{mapred-site/mapreduce.jobhistory.webapp.address}}", "https" : "{{mapred-site/mapreduce.jobhistory.webapp.https.address}}", "https_property" : "{{mapred-site/mapreduce.jobhistory.http.policy}}", "https_property_value" : "HTTPS_ONLY", "default_port" : 0.0 } } } }
And for mapping data on UI we need the full source data. Currently we need to make one request for all alert_definitions with all data except source and one request for each alert_definition just to get all source data.
So after this change only one request will be enough to get all alert_definitions data.