Note that there are some explanatory texts on larger screens.

plurals
  1. POorg.hibernate.exception.JDBCConnectionException: could not insert, How To Find the problem in a production enviroment
    text
    copied!<p>Where do you start when you have these problems? I'm having problems recreating these error in my development environment. </p> <p>We are running this code on resin server. And we have plugins running in threads in a transaction. </p> <p>And we have some code that flushes the session and some not. Is there some logging that provide some more useful information than this. </p> <pre> 06:44:48 [ERROR]: AbstractHibernateFactory.java:127 - Cought this saving a sherlock.common.dao.BatchLog org.hibernate.exception.JDBCConnectionException: could not insert: [sherlock.common.dao.BatchLog] at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:99) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66) at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:64) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2329) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2836) at org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:71) at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:268) at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:321) at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:204) at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:130) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:117) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93) at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:677) at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:669) at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:665) at framework.hibernate.service.AbstractHibernateFactory.saveOrUpdate(AbstractHibernateFactory.java:124) at sherlock.common.service.BatchServiceImpl.log(BatchServiceImpl.java:148) at sherlock.common.service.BatchServiceImpl.log(BatchServiceImpl.java:128) at sherlock.plugin.imports.CompanyImportPlugin.executePlugin(CompanyImportPlugin.java:184) at sherlock.backend.job.AbstractHibernatePlugin.execute(AbstractHibernatePlugin.java:70) at sherlock.backend.job.AbstractPluginJobTask.run(AbstractPluginJobTask.java:180) at framework.util.task.TaskEngine$TaskEngineWorker.run(TaskEngine.java:174)Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after statement closed. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at com.mysql.jdbc.Util.handleNewInstance(Util.java:409) at com.mysql.jdbc.Util.getInstance(Util.java:384) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1015) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:989) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:984) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:929) at com.mysql.jdbc.StatementImpl.checkClosed(StatementImpl.java:404) at com.mysql.jdbc.PreparedStatement.clearParameters(PreparedStatement.java:1140) at com.mysql.jdbc.jdbc2.optional.PreparedStatementWrapper.clearParameters(PreparedStatementWrapper.java:805) at com.caucho.sql.UserPreparedStatement.clearParameters(UserPreparedStatement.java:158) at com.caucho.sql.UserPreparedStatement.close(UserPreparedStatement.java:724) at org.hibernate.jdbc.AbstractBatcher.closePreparedStatement(AbstractBatcher.java:563) at org.hibernate.jdbc.AbstractBatcher.closeStatement(AbstractBatcher.java:291) at org.hibernate.id.insert.AbstractReturningDelegate.releaseStatement(AbstractReturningDelegate.java:82) at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:60) ... 21 more 06:44:48 [INFO]: plugin.java:196 - End plugin 06:44:48 [ERROR]: AssertionFailure.java:45 - an assertion failure occured (this may indicate a bug in Hibernate, but is more likely due to unsafe use of the session) org.hibernate.AssertionFailure: null id in sherlock.common.dao.BatchLog entry (don't flush the Session after an exception occurs) at org.hibernate.event.def.DefaultFlushEntityEventListener.checkId(DefaultFlushEntityEventListener.java:82) at org.hibernate.event.def.DefaultFlushEntityEventListener.getValues(DefaultFlushEntityEventListener.java:190) at org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:147) at org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:219) at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:99) at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50) at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1206) at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:375) at org.hibernate.transaction.CacheSynchronization.beforeCompletion(CacheSynchronization.java:88) at com.caucho.transaction.TransactionImpl.callBeforeCompletion(TransactionImpl.java:843) at com.caucho.transaction.TransactionImpl.commit(TransactionImpl.java:582) at com.caucho.transaction.TransactionManagerImpl.commit(TransactionManagerImpl.java:271) at com.caucho.jca.UserTransactionImpl.commit(UserTransactionImpl.java:436) at com.caucho.jca.UserTransactionProxy.commit(UserTransactionProxy.java:167) at sherlock.backend.job.AbstractPluginJobTask.endTransaction(AbstractPluginJobTask.java:126) at sherlock.backend.job.AbstractPluginJobTask.run(AbstractPluginJobTask.java:202) at framework.util.task.TaskEngine$TaskEngineWorker.run(TaskEngine.java:174) 06:44:48 [ERROR]: AbstractPluginJobTask.java:135 - Couldn't commit! javax.transaction.RollbackException: org.hibernate.AssertionFailure: null id in sherlock.common.dao.BatchLog entry (don't flush the Session after an exception occurs) at com.caucho.transaction.TransactionImpl.callBeforeCompletion(TransactionImpl.java:847) at com.caucho.transaction.TransactionImpl.commit(TransactionImpl.java:582) at com.caucho.transaction.TransactionManagerImpl.commit(TransactionManagerImpl.java:271) at com.caucho.jca.UserTransactionImpl.commit(UserTransactionImpl.java:436) at com.caucho.jca.UserTransactionProxy.commit(UserTransactionProxy.java:167) at sherlock.backend.job.AbstractPluginJobTask.endTransaction(AbstractPluginJobTask.java:126) at sherlock.backend.job.AbstractPluginJobTask.run(AbstractPluginJobTask.java:202) at framework.util.task.TaskEngine$TaskEngineWorker.run(TaskEngine.java:174) Caused by: org.hibernate.AssertionFailure: null id in sherlock.common.dao.BatchLog entry (don't flush the Session after an exception occurs) at org.hibernate.event.def.DefaultFlushEntityEventListener.checkId(DefaultFlushEntityEventListener.java:82) at org.hibernate.event.def.DefaultFlushEntityEventListener.getValues(DefaultFlushEntityEventListener.java:190) at org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:147) at org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:219) at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:99) at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50) at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1206) at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:375) at org.hibernate.transaction.CacheSynchronization.beforeCompletion(CacheSynchronization.java:88) at com.caucho.transaction.TransactionImpl.callBeforeCompletion(TransactionImpl.java:843) ... 7 more </pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload