Bug #51982 Stack trace when repository fills up from the monitor
Submitted: 12 Mar 2010 10:39 Modified: 9 Jan 2015 14:42
Reporter: Roger David Nay Email Updates:
Status: Won't fix Impact on me:
None 
Category:MySQL Enterprise Monitor: Server Severity:S2 (Serious)
Version:2.2.0.1696 OS:Any
Assigned to: Darren Oldag CPU Architecture:Any

[12 Mar 2010 10:39] Roger David Nay
Description:
Stack trace from the monitor when the repository disk was full.

MySQL Enterprise Monitor "devXX01" has encountered a non-recoverable internal error. The Java stack trace follows:

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 sun.reflect.GeneratedMethodAccessor48.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.hibernate.context.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:301)
at $Proxy8.flush(Unknown Source)
at com.mysql.etools.monitor.pom.hib.HibDcNgReaderWriter$12.execute(HibDcNgReaderWriter.java:1388)
at com.mysql.etools.monitor.pom.hib.HibernateExecutor.asTransaction(HibernateExecutor.java:188)
at com.mysql.etools.monitor.pom.hib.SchemaMaintenanceExecutor.asTransaction(SchemaMaintenanceExecutor.java:194)
at com.mysql.etools.monitor.pom.hib.HibDcNgReaderWriter.saveInternal(HibDcNgReaderWriter.java:1382)
at com.mysql.etools.monitor.pom.hib.HibDcNgReaderWriter.saveAttribute(HibDcNgReaderWriter.java:1545)
at com.mysql.etools.monitor.bo.Agent.save(Agent.java:454)
at com.mysql.etools.monitor.bo.Agent.setLatency(Agent.java:423)
at com.mysql.etools.monitor.bo.Agent.updateFromHeartbeat(Agent.java:413)
at com.mysql.etools.monitor.bo.Agent.lockedAcceptHeartbeat(Agent.java:391)
at com.mysql.etools.monitor.bo.Agent.lockedAcceptHeartbeat(Agent.java:371)
at com.mysql.etools.monitor.bo.Agent.access$100(Agent.java:74)
at com.mysql.etools.monitor.bo.Agent$2.call(Agent.java:360)
at com.mysql.etools.monitor.bo.Agent$2.call(Agent.java:359)
at com.mysql.util.LockingExecutor.execute(LockingExecutor.java:39)
at com.mysql.etools.monitor.bo.Agent.acceptHeartbeat(Agent.java:358)
at com.mysql.etools.monitor.bo.HeartbeatAcceptor.acceptHeartbeat(HeartbeatAcceptor.java:60)
at com.mysql.etools.monitor.bo.HeartBeatCommandProcessor.processRequest(HeartBeatCommandProcessor.java:102)
at com.mysql.merlin.server.MerlinServlet$1.processRequest(MerlinServlet.java:328)
at com.mysql.merlin.server.agent.HeartbeatServlet$1.processRequest(HeartbeatServlet.java:62)
at com.mysql.merlin.server.MerlinServlet.doCommon(MerlinServlet.java:297)
at com.mysql.merlin.server.MerlinServlet.doPost(MerlinServlet.java:419)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.mysql.util.RequestCounterFilter.doFilter(RequestCounterFilter.java:117)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.mysql.etools.monitor.rest.AuthFilter.doFilter(AuthFilter.java:98)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:183)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:138)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
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:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
Caused by: java.sql.BatchUpdateException: The table 'dc_ng_long_now' is full
at com.mysql.jdbc.PreparedStatement.executeBatchedInserts(PreparedStatement.java:1809)
at com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:1441)
at org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:294)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:48)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:246)
... 53 more

How to repeat:
Fill up the disk where the MEM repository resides.

Suggested fix:
No stack trace, maybe start purging old data to make room for new data and issue a warning.