[
https://issues.apache.org/jira/browse/CLOUDSTACK-1496?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13592166#comment-13592166
]
Sowmya Krishnan commented on CLOUDSTACK-1496:
---------------------------------------------
Logs:
2013-03-04 18:08:23,838 WARN [cloud.resource.ResourceManagerImpl]
(AgentTaskPool-2:null) Unable to connect due to
com.cloud.utils.exception.CloudRuntimeException: Unable to connect 581
at
com.cloud.agent.manager.AgentManagerImpl.notifyMonitorsOfConnection(AgentManagerImpl.java:630)
at
com.cloud.agent.manager.AgentManagerImpl.handleDirectConnectAgent(AgentManagerImpl.java:1504)
at sun.reflect.GeneratedMethodAccessor150.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:319)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at
org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80)
at
com.cloud.utils.db.TransactionContextBuilder.AroundAnyMethod(TransactionContextBuilder.java:37)
at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at
org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)
at
org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610)
at
org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at
org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at sun.proxy.$Proxy112.handleDirectConnectAgent(Unknown Source)
at
com.cloud.resource.ResourceManagerImpl.createHostAndAgent(ResourceManagerImpl.java:1937)
at
com.cloud.resource.ResourceManagerImpl.createHostAndAgent(ResourceManagerImpl.java:2074)
at sun.reflect.GeneratedMethodAccessor86.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:319)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at
org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80)
at
com.cloud.utils.db.TransactionContextBuilder.AroundAnyMethod(TransactionContextBuilder.java:37)
at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at
org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)
at
org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610)
at
org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at
org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at sun.proxy.$Proxy122.createHostAndAgent(Unknown Source)
at
com.cloud.agent.manager.AgentManagerImpl$SimulateStartTask.run(AgentManagerImpl.java:1156)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:679)
Caused by: com.cloud.utils.exception.CloudRuntimeException: Caught:
com.mysql.jdbc.PreparedStatement@57a07056: SELECT vm_instance.id,
vm_instance.name, vm_instance.vnc_password, vm_instance.proxy_id,
vm_instance.proxy_assign_time, vm_instance.state,
vm_instance.private_ip_address, vm_instance.instance_name,
vm_instance.vm_template_id, vm_instance.guest_os_id, vm_instance.host_id,
vm_instance.last_host_id, vm_instance.pod_id, vm_instance.private_mac_address,
vm_instance.data_center_id, vm_instance.vm_type, vm_instance.ha_enabled,
vm_instance.limit_cpu_use, vm_instance.update_count, vm_instance.created,
vm_instance.removed, vm_instance.update_time, vm_instance.domain_id,
vm_instance.account_id, vm_instance.service_offering_id,
vm_instance.reservation_id, vm_instance.hypervisor_type, vm_instance.uuid,
vm_instance.disk_offering_id, domain_router.element_id,
domain_router.public_ip_address, domain_router.public_mac_address,
domain_router.public_netmask, domain_router.is_redundant_router,
domain_router.priority, domain_router.is_priority_bumpup,
domain_router.redundant_state, domain_router.stop_pending, domain_router.role,
domain_router.template_version, domain_router.scripts_version,
domain_router.vpc_id FROM domain_router INNER JOIN vm_instance ON
domain_router.id=vm_instance.id INNER JOIN router_network_ref ON
domain_router.id=router_network_ref.router_id WHERE
vm_instance.type='DomainRouter' AND vm_instance.host_id = 581 AND
vm_instance.removed IS NULL AND (router_network_ref.guest_type = 'Isolated' )
at
com.cloud.utils.db.GenericDaoBase.searchIncludingRemoved(GenericDaoBase.java:417)
at
com.cloud.utils.db.GenericDaoBase.searchIncludingRemoved(GenericDaoBase.java:350)
at
com.cloud.utils.db.GenericDaoBase.listIncludingRemovedBy(GenericDaoBase.java:902)
at com.cloud.utils.db.GenericDaoBase.listBy(GenericDaoBase.java:879)
at com.cloud.utils.db.GenericDaoBase.listBy(GenericDaoBase.java:892)
at
com.cloud.vm.dao.DomainRouterDaoImpl.listIsolatedByHostId(DomainRouterDaoImpl.java:217)
at sun.reflect.GeneratedMethodAccessor120.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:319)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at
org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80)
at
com.cloud.utils.db.TransactionContextBuilder.AroundAnyMethod(TransactionContextBuilder.java:37)
at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at
org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)
at
org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610)
at
org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at
org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at sun.proxy.$Proxy156.listIsolatedByHostId(Unknown Source)
at
com.cloud.network.router.VirtualNetworkApplianceManagerImpl.processConnect(VirtualNetworkApplianceManagerImpl.java:3515)
at
com.cloud.agent.manager.AgentManagerImpl.notifyMonitorsOfConnection(AgentManagerImpl.java:611)
... 45 more
Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded
... 71 more
> List API Performance: listAccounts failing with OOME for high values of
> pagesize (>1000 )
> -----------------------------------------------------------------------------------------
>
> Key: CLOUDSTACK-1496
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-1496
> Project: CloudStack
> Issue Type: Bug
> Security Level: Public(Anyone can view this level - this is the
> default.)
> Components: API
> Affects Versions: 4.1.0
> Environment: CentOS release 6.3
> Reporter: Sowmya Krishnan
> Assignee: Min Chen
> Fix For: 4.1.0
>
>
> listAccounts with higher values of pagesize is resulting in OOME and in
> general, showing low performance for smaller page size values too.
> Configuration for the performance set up is as follows:
> (Using simulator set up)
> (Advanced zone)
> Accounts: 2117
> Hosts: 1986
> Users: 2116
> Virtual machines: 3299
> Server configurations:
> Management Server :
> =================
> 8 proc Intel(R) Xeon(R) CPU E5620 @ 2.40GHz processor
> CentOS release 6.3 (Final)
> Database:
> ========
> 8 proc Intel(R) Xeon(R) CPU E5620 @ 2.40GHz processor
> Red Hat Enterprise Linux Server release 6.2 (Santiago)
> MySQL-server-5.5.21-1.linux2.6.x86_64 (InnoDB engine)
> Following are the results for listAccounts for various pagesize values:
> ======================================================
> (APIs are fired on 8080 as admin from a different client than the MS)
> pagesize=10 : 0m30.944s
> pagesize=50: 1m57.292s
> pagesize=100: 2m59.700s
> pagesize=500: 12m22.807s
> In comparison to the results before API Optimization, for pagesize=100, the
> response was received within 62 seconds before optimization whereas now, the
> result is 149 seconds
> One difference though, is that the performance run before API optimization
> was done on a DB server with much higher configuration (Quad core, 8
> processor). But still, we shouldn't be seeing OOME.
> Following is the extract of the result for listAccounts&listAll=true (# of
> accounts: 2117)
> ...
> <title>Error 500 Java heap space</title> </head> <body><h2>HTTP ERROR
> 500</h2> <p>Problem accessing /client/api. Reason: <pre> Java heap
> space</pre></p><h3>Caused by:</h3><pre>java.lang.OutOfMemoryError: Java heap
> space </pre> <hr /><i><small>Powered by Jetty://</small>
> Maven Settings:
> ============
> [root@centos63 ~]# echo $MAVEN_OPTS
> -Xmx5120m -XX:MaxPermSize=1024m -Xdebug
> -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira