http://jira.hyperic.com/browse/HHQ-4257
To reproduce:
In this specific case we have an environment with following inventory
Platforms (126) |
Servers (1493) |
Services (30201)
Metrics inserts / minute = 165136
User goes to changed Measurement Default for a few (5) metrics under a service template
The collection is changed from 1 minute to 5 minutes for the 5 selected metrics to reduce metric insert load
UI spins for 15 minutes and then times out with following error. None of the agents receive updated schedule, the schedule is not even updated on server side.
2010-08-30 19:47:26,941 ERROR [tomcat-http--327] [org.hibernate.event.def.AbstractFlushingEventListener@301] Could not synchronize database state with session
org.hibernate.exception.GenericJDBCException: Could not execute JDBC batch update
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:253)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:266)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:167)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
at org.hyperic.hq.dao.HibernateDAO.flushSession(HibernateDAO.java:75)
at org.hyperic.hq.measurement.server.session.TemplateManagerImpl.updateTemplateDefaultInterval(TemplateManagerImpl.java:350)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
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 org.hyperic.hq.monitor.aop.aspects.PerformanceMonitor.monitorServiceMethod(PerformanceMonitor.java:74)
at sun.reflect.GeneratedMethodAccessor76.invoke(Unknown Source)
blah.......
Caused by: java.sql.BatchUpdateException: Statement cancelled due to timeout or client request
at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:1998)
at com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:1443)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:48)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:246)
... 111 more
Anonymous