|
Occasionally a transaction fails on flush stage with Exception like this:
Caused by: java.lang.ArrayIndexOutOfBoundsException: 2674 at org.hibernate.engine.internal.EntityEntryContext.reentrantSafeEntityEntries(EntityEntryContext.java:260) [hibernate-core-4.3.0.Final.jar:4.3.0.Final] at org.hibernate.engine.internal.StatefulPersistenceContext.reentrantSafeEntityEntries(StatefulPersistenceContext.java:1053) [hibernate-core-4.3.0.Final.jar:4.3.0.Final] at org.hibernate.event.internal.AbstractFlushingEventListener.prepareEntityFlushes(AbstractFlushingEventListener.java:153) [hibernate-core-4.3.0.Final.jar:4.3.0.Final] at org.hibernate.event.internal.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:91) [hibernate-core-4.3.0.Final.jar:4.3.0.Final] at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:55) [hibernate-core-4.3.0.Final.jar:4.3.0.Final] at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1218) [hibernate-core-4.3.0.Final.jar:4.3.0.Final] at org.hibernate.jpa.spi.AbstractEntityManagerImpl.flush(AbstractEntityManagerImpl.java:1335) [hibernate-entitymanager-4.3.0.Final.jar:4.3.0.Final] at org.jboss.as.jpa.container.AbstractEntityManager.flush(AbstractEntityManager.java:445) [wildfly-jpa-8.0.0.CR1.jar:8.0.0.CR1] at <our code>
Our code in the last line is calling EntityManager.flush().
Replication steps are a bit hard to come by, because most of the similar operations work fine, and our software is so complex it's hard to run a one operation exactly the same again. But considering AIOOBE is often relatively simple error, you might be able to figure it out from the line number alone, I filed it here.
|