ambari-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Srimanth Gunturi (JIRA)" <>
Subject [jira] [Commented] (AMBARI-13115) BE: Call to filter 100 hosts by alerts takes 25s on 800 node cluster
Date Wed, 16 Sep 2015 16:30:45 GMT


Srimanth Gunturi commented on AMBARI-13115:

The reason this call takes so much time is because the 'host' resource has sub-resources,
and there is a paging request on it. When a resource with sub-resources is requested, AND
it has paging request, *all* top-level are got, and their sub-resources are gotten before
the paging/predicate filters are applied. This is very expensive when there are 1000 hosts
with sub-resources and only 100 hosts are needed. Bulk of the time is spent in populating
the 900 top-level resources which are then thrown away.

There is an optimization we can make here where we can reduce the number of top-level resources
by applying the paging & predicate request on top-level resources IF the predicate applies
only to the top-level resource and not to the sub-resources. Then we can safely reduce the
number of top-level resources by applying the paging/predicate filtering.

> BE: Call to filter 100 hosts by alerts takes 25s on 800 node cluster
> --------------------------------------------------------------------
>                 Key: AMBARI-13115
>                 URL:
>             Project: Ambari
>          Issue Type: Bug
>          Components: ambari-server
>    Affects Versions: 2.1.0
>            Reporter: Srimanth Gunturi
>            Assignee: Srimanth Gunturi
>             Fix For: 2.1.2
>         Attachments: AMBARI-13115.patch
> UI has a filter to show hosts having alerts. This call takes 25 to complete.
> {code}
> POST http://gsperfb-1:8080/api/v1/clusters/MuonBlue/hosts?fields=Hosts/rack_info,Hosts/host_name,Hosts/maintenance_state,Hosts/public_host_name,Hosts/cpu_count,Hosts/ph_cpu_count,alerts_summary,Hosts/host_status,Hosts/last_heartbeat_time,Hosts/ip,host_components/HostRoles/state,host_components/HostRoles/maintenance_state,host_components/HostRoles/stale_configs,host_components/HostRoles/service_name,host_components/HostRoles/desired_admin_state,Hosts/total_mem,stack_versions/HostStackVersions,stack_versions/repository_versions/RepositoryVersions/repository_version,stack_versions/repository_versions/RepositoryVersions/id,stack_versions/repository_versions/RepositoryVersions/display_name&minimal_response=true&page_size=100&from=0&sortBy=Hosts/host_name.asc
> {code}
> {code}
> {
>   "RequestInfo": {
>     "query": "page_size=100&from=0&alerts_summary/CRITICAL>0|alerts_summary/WARNING>0"
>   }
> }
> {code}

This message was sent by Atlassian JIRA

View raw message