You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ambari.apache.org by "Srimanth Gunturi (JIRA)" <ji...@apache.org> on 2015/09/16 18:30:45 UTC

[jira] [Commented] (AMBARI-13115) BE: Call to filter 100 hosts by alerts takes 25s on 800 node cluster

    [ https://issues.apache.org/jira/browse/AMBARI-13115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14790671#comment-14790671 ] 

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: https://issues.apache.org/jira/browse/AMBARI-13115
>             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
(v6.3.4#6332)