org.hibernate.exception.GenericJDBCException: could not execute statement
at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:54) ~[factory.jar:1.4]
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:126) ~[factory.jar:1.4]
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:112) ~[factory.jar:1.4]
at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:211) ~[factory.jar:1.4]
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:3285) ~[factory.jar:1.4]
at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:3183) ~[factory.jar:1.4]
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:3525) ~[factory.jar:1.4]
at org.hibernate.action.internal.EntityUpdateAction.execute(EntityUpdateAction.java:159) ~[factory.jar:1.4]
at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:465) ~[factory.jar:1.4]
at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:351) ~[factory.jar:1.4]
at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:350) ~[factory.jar:1.4]
at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:56) ~[factory.jar:1.4]
at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1258) ~[factory.jar:1.4]
at com.shieldxnetworks.factory.util.db.TransactionRunner.commit(TransactionRunner.java:129) ~[factory.jar:1.4]
at com.shieldxnetworks.factory.util.db.TransactionRunner.commitIntent(TransactionRunner.java:202) ~[factory.jar:1.4]
at com.shieldxnetworks.factory.manager.chassis.task.vmware.VmwareCreateMicroSegmentNetworkTask.executeTransaction(VmwareCreateMicroSegmentNetworkTask.java:98) ~[factory.jar:1.4]
at com.shieldxnetworks.factory.job.task.TransactionalTask$1.run(TransactionalTask.java:48) ~[factory.jar:1.4]
at com.shieldxnetworks.factory.util.db.TransactionRunner.exec(TransactionRunner.java:81) ~[factory.jar:1.4]
at com.shieldxnetworks.factory.util.db.TransactionRunner.exec(TransactionRunner.java:73) ~[factory.jar:1.4]
at com.shieldxnetworks.factory.job.task.TransactionalTask.lambda$execute$0(TransactionalTask.java:53) ~[factory.jar:1.4]
at com.shieldxnetworks.factory.util.db.TransactionRetrier.tryAttempts(TransactionRetrier.java:49) ~[factory.jar:1.4]
at com.shieldxnetworks.factory.util.db.TransactionRetrier.tryAttempts(TransactionRetrier.java:42) ~[factory.jar:1.4]
at com.shieldxnetworks.factory.job.task.TransactionalTask.execute(TransactionalTask.java:41) ~[factory.jar:1.4]
at com.shieldxnetworks.factory.job.TaskNode.run(TaskNode.java:270) [factory.jar:1.4]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_152]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_152]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_152]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_152]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_152]
Caused by: org.h2.jdbc.JdbcSQLNonTransientException: IO Exception: "retry:/var/lib/factory/shieldxdb.mv.db"; SQL statement:
update port set version=?, cloud_object_id=?, connected=?, inspection_port_type=?, lb_fk=?, mac_address=?, micro_segment_network_fk=?, name=?, network_fk=?, original_network_fk=?, type=?, vm_fk=? where id=? and version=? [90028-199]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:502) ~[factory.jar:1.4]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:427) ~[factory.jar:1.4]
at org.h2.message.DbException.get(DbException.java:194) ~[factory.jar:1.4]
at org.h2.mvstore.db.MVTableEngine$Store.convertIllegalStateException(MVTableEngine.java:197) ~[factory.jar:1.4]
at org.h2.mvstore.db.MVTable.convertException(MVTable.java:725) ~[factory.jar:1.4]
at org.h2.mvstore.db.MVSecondaryIndex.remove(MVSecondaryIndex.java:239) ~[factory.jar:1.4]
at org.h2.mvstore.db.MVTable.removeRow(MVTable.java:514) ~[factory.jar:1.4]
at org.h2.table.Table.updateRows(Table.java:506) ~[factory.jar:1.4]
at org.h2.command.dml.Update.update(Update.java:203) ~[factory.jar:1.4]
at org.h2.command.CommandContainer.update(CommandContainer.java:133) ~[factory.jar:1.4]
at org.h2.command.Command.executeUpdate(Command.java:267) ~[factory.jar:1.4]
at org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:200) ~[factory.jar:1.4]
at org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:154) ~[factory.jar:1.4]
at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:208) ~[factory.jar:1.4]
... 25 more
Caused by: java.lang.IllegalStateException: Reading from retry:/var/lib/factory/shieldxdb.mv.db failed; file length 607985664 read length 192 at 523398200 [1.4.199/1]
at org.h2.mvstore.DataUtils.newIllegalStateException(DataUtils.java:883) ~[factory.jar:1.4]
at org.h2.mvstore.DataUtils.readFully(DataUtils.java:420) ~[factory.jar:1.4]
at org.h2.mvstore.FileStore.readFully(FileStore.java:98) ~[factory.jar:1.4]
at org.h2.mvstore.MVStore.readBufferForPage(MVStore.java:1048) ~[factory.jar:1.4]
at org.h2.mvstore.MVStore.readPage(MVStore.java:2186) ~[factory.jar:1.4]
at org.h2.mvstore.MVMap.readPage(MVMap.java:554) ~[factory.jar:1.4]
at org.h2.mvstore.MVMap.traverseDown(MVMap.java:1877) ~[factory.jar:1.4]
at org.h2.mvstore.MVMap.operate(MVMap.java:1664) ~[factory.jar:1.4]
at org.h2.mvstore.tx.TransactionMap.set(TransactionMap.java:306) ~[factory.jar:1.4]
at org.h2.mvstore.tx.TransactionMap.set(TransactionMap.java:289) ~[factory.jar:1.4]
at org.h2.mvstore.tx.TransactionMap.remove(TransactionMap.java:209) ~[factory.jar:1.4]
at org.h2.mvstore.db.MVSecondaryIndex.remove(MVSecondaryIndex.java:232) ~[factory.jar:1.4]
at org.h2.mvstore.db.MVTable.removeRow(MVTable.java:514) ~[factory.jar:1.4]
at org.h2.table.Table.updateRows(Table.java:506) ~[factory.jar:1.4]
at org.h2.command.dml.Update.update(Update.java:203) ~[factory.jar:1.4]
at org.h2.command.CommandContainer.update(CommandContainer.java:133) ~[factory.jar:1.4]
at org.h2.command.Command.executeUpdate(Command.java:267) ~[factory.jar:1.4]
at org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:200) ~[factory.jar:1.4]
at org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:154) ~[factory.jar:1.4]
at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:208) ~[factory.jar:1.4]
... 25 more
Caused by: java.io.EOFException
at org.h2.mvstore.DataUtils.readFully(DataUtils.java:408) ~[factory.jar:1.4]
at org.h2.mvstore.FileStore.readFully(FileStore.java:98) ~[factory.jar:1.4]
at org.h2.mvstore.MVStore.readBufferForPage(MVStore.java:1048) ~[factory.jar:1.4]
at org.h2.mvstore.MVStore.readPage(MVStore.java:2186) ~[factory.jar:1.4]
at org.h2.mvstore.MVMap.readPage(MVMap.java:554) ~[factory.jar:1.4]
at org.h2.mvstore.MVMap.traverseDown(MVMap.java:1877) ~[factory.jar:1.4]
at org.h2.mvstore.MVMap.operate(MVMap.java:1664) ~[factory.jar:1.4]
at org.h2.mvstore.tx.TransactionMap.set(TransactionMap.java:306) ~[factory.jar:1.4]
at org.h2.mvstore.tx.TransactionMap.set(TransactionMap.java:289) ~[factory.jar:1.4]
at org.h2.mvstore.tx.TransactionMap.remove(TransactionMap.java:209) ~[factory.jar:1.4]
at org.h2.mvstore.db.MVSecondaryIndex.remove(MVSecondaryIndex.java:232) ~[factory.jar:1.4]
at org.h2.mvstore.db.MVTable.removeRow(MVTable.java:514) ~[factory.jar:1.4]
at org.h2.table.Table.updateRows(Table.java:506) ~[factory.jar:1.4]
at org.h2.command.dml.Update.update(Update.java:203) ~[factory.jar:1.4]
at org.h2.command.CommandContainer.update(CommandContainer.java:133) ~[factory.jar:1.4]
at org.h2.command.Command.executeUpdate(Command.java:267) ~[factory.jar:1.4]
at org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:200) ~[factory.jar:1.4]
at org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:154) ~[factory.jar:1.4]
at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:208) ~[factory.jar:1.4]
... 25 more
We do actually make a copy of the file, but we call SET EXCLUSIVE 1 before we do that.