sadhu suresh created CLOUDSTACK-100: ---------------------------------------
Summary: capcityChecker throws exception in specific scenario Key: CLOUDSTACK-100 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-100 Project: CloudStack Issue Type: Bug Components: Management Server Affects Versions: pre-4.0.0 Environment: Git Revision: 03df2fa9dd45c938f72cd1866044b09d1b0cc978 Git URL: https://git-wip-us.apache.org/repos/asf/incubator-cloudstack.gi Reporter: sadhu suresh Attachments: management-server.log.2012-09-12.gz Runtime exception noticed when we Install MS on a VM with less memory resources Steps: 1.Install new build on rhel6.3 OS 2.make sure your Ms has less memory capacity(i.e In the current environment Management server heartbeat takes too long to finish) 3.try to create advance zone with xen as hypervior and observe the behavior Actual result: Noticed exception in the log while its adding primary storage during zone creation operation and it took long time to finish addZone operation due to communication took long time to finish between host and Management server. Capacity Checker throws runtime exception caused by some sql exception...and exception says "you have error in SQL syntax" ********************* Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'B' at line 1 ********************** Content of management log: 2012-09-12 16:34:44,074 DEBUG [cloud.cluster.ClusterManagerImpl] (Cluster-Heartbeat-1:null) Management server heartbeat takes too long to finish. profiler: Done. Duration: 8837ms, profilerHeartbeatUpdate: Done. Duration: 3455ms, profilerPeerScan: Done. Duration: 5382ms, profilerAgentLB: Done. Duration: 0ms 2012-09-12 16:34:49,824 DEBUG [cloud.cluster.ClusterManagerImpl] (Cluster-Heartbeat-1:null) Peer scan takes too long to finish. profiler: Done. Duration: 4631ms, profilerQueryActiveList: Done. Duration: 2637ms, profilerSyncClusterInfo: Done. Duration: 1994ms, profilerInvalidatedNodeList: Done. Duration: 0ms, profilerRemovedList: Done. Duration: 0ms 2012-09-12 16:34:52,543 DEBUG [cloud.cluster.ClusterManagerImpl] (Cluster-Heartbeat-1:null) Management server heartbeat takes too long to finish. profiler: Done. Duration: 4699ms, profilerHeartbeatUpdate: Done. Duration: 68ms, profilerPeerScan: Done. Duration: 4631ms, profilerAgentLB: Done. Duration: 0ms 2012-09-12 16:34:54,854 DEBUG [network.router.VirtualNetworkApplianceManagerImpl] (RouterStatusMonitor-1:null) Found 0 routers. 2012-09-12 16:34:56,316 DEBUG [cloud.cluster.ClusterManagerImpl] (Cluster-Heartbeat-1:null) Management server heartbeat takes too long to finish. profiler: Done. Duration: 2112ms, profilerHeartbeatUpdate: Done. Duration: 704ms, profilerPeerScan: Done. Duration: 1408ms, profilerAgentLB: Done. Duration: 0ms 2012-09-12 16:35:01,183 INFO [agent.manager.AgentMonitor] (AgentMonitor:null) Found the following agents behind on ping: [1] 2012-09-12 16:35:01,276 DEBUG [cloud.cluster.ClusterManagerImpl] (Cluster-Heartbeat-1:null) Peer scan takes too long to finish. profiler: Done. Duration: 4690ms, profilerQueryActiveList: Done. Duration: 4394ms, profilerSyncClusterInfo: Done. Duration: 296ms, profilerInvalidatedNodeList: Done. Duration: 0ms, profilerRemovedList: Done. Duration: 0ms 2012-09-12 16:35:01,634 DEBUG [cloud.cluster.ClusterManagerImpl] (Cluster-Heartbeat-1:null) Management server heartbeat takes too long to finish. profiler: Done. Duration: 5318ms, profilerHeartbeatUpdate: Done. Duration: 265ms, profilerPeerScan: Done. Duration: 5053ms, profilerAgentLB: Done. Duration: 0ms 2012-09-12 16:35:01,874 ERROR [cloud.alert.AlertManagerImpl] (CapacityChecker:null) Exception in CapacityChecker com.cloud.utils.exception.CloudRuntimeException: DB Exception on: org.apache.commons.dbcp.DelegatingPreparedStatement@a9ee006 at com.cloud.utils.db.GenericDaoBase.customSearchIncludingRemoved(GenericDaoBase.java:479) at com.cloud.utils.db.DatabaseCallback.intercept(DatabaseCallback.java:34) at com.cloud.capacity.dao.CapacityDaoImpl.findCapacityBy(CapacityDaoImpl.java:355) at com.cloud.utils.db.DatabaseCallback.intercept(DatabaseCallback.java:34) at com.cloud.alert.AlertManagerImpl.checkForAlerts(AlertManagerImpl.java:473) at com.cloud.alert.AlertManagerImpl$CapacityChecker.run(AlertManagerImpl.java:442) at java.util.TimerThread.mainLoop(Timer.java:534) at java.util.TimerThread.run(Timer.java:484) Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'B' at line 1 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:532) at com.mysql.jdbc.Util.handleNewInstance(Util.java:411) at com.mysql.jdbc.Util.getInstance(Util.java:386) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1053) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4074) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4006) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2468) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2629) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2719) at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155) at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2318) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:97) at com.cloud.utils.db.GenericDaoBase.customSearchIncludingRemoved(GenericDaoBase.java:459) ... 15 more 2012-09-12 16:35:33,894 DEBUG [cloud.alert.AlertManagerImpl] (CapacityChecker:null) Running Capacity Checker ... 2012-09-12 16:35:31,364 DEBUG [network.router.VirtualNetworkApplianceManagerImpl] (RouterStatusMonitor-1:null) Found 0 routers. 2012-09-12 16:35:31,191 DEBUG [cloud.server.StatsCollector] (StatsCollector-3:null) StorageCollector is running... 2012-09-12 16:35:31,191 DEBUG [cloud.server.StatsCollector] (StatsCollector-2:null) VmStatsCollector is running... 2012-09-12 16:35:15,394 DEBUG [agent.manager.AgentAttache] (AgentTaskPool-1:null) Seq 1-1550843917: Waiting some more time because this is the current command 2012-09-12 16:35:13,612 DEBUG [agent.manager.DirectAgentAttache] (DirectAgent-9:null) Ping from 1 2012-09-12 16:35:08,496 DEBUG [cloud.host.Status] (AgentMonitor:null) Ping timeout for host 1, do invstigation 2012-09-12 16:35:05,456 DEBUG [cloud.cluster.ClusterManagerImpl] (Cluster-Heartbeat-1:null) Peer scan takes too long to finish. profiler: Done. Duration: 3620ms, profilerQueryActiveList: Done. Duration: 188ms, profilerSyncClusterInfo: Done. Duration: 3432ms, profilerInvalidatedNodeList: Done. Duration: 0ms, profilerRemovedList: Done. Duration: 0ms 2012-09-12 16:35:01,875 ERROR [cloud.api.ApiDispatcher] (catalina-exec-13:null) Exception while executing ListCapacityCmd: java.lang.NullPointerException at com.cloud.capacity.dao.CapacityDaoImpl.findCapacityBy(CapacityDaoImpl.java:319) at com.cloud.utils.db.DatabaseCallback.intercept(DatabaseCallback.java:34) at com.cloud.server.ManagementServerImpl.listCapacities(ManagementServerImpl.java:2216) at com.cloud.api.commands.ListCapacityCmd.execute(ListCapacityCmd.java:129) at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:138) at com.cloud.api.ApiServer.queueCommand(ApiServer.java:543) at com.cloud.api.ApiServer.handleRequest(ApiServer.java:422) at com.cloud.api.ApiServlet.processRequest(ApiServlet.java:304) at com.cloud.api.ApiServlet.doGet(ApiServlet.java:63) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:555) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:889) at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:721) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2268) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:679) Expected result: AddZone should be completed with out any errors and exception should be caught and alert the user with proper information. should not get any syntax error exception like MySQLSyntaxErrorExceptions seen above logs. Note:Not seen the problem when increase the memory on VM from 52 to 2GB.also did xe-toolstack-restart ... on xen host. -- 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