[ 
https://issues.apache.org/jira/browse/DERBY-6999?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pavol Liška updated DERBY-6999:
-------------------------------
    Description: 
During many concurrent inserts derby throws tooMuchContentionExpection.
{code:java}
org.hibernate.exception.LockAcquisitionException: could not execute statement
    at 
org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:75)
    at 
org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:42)
    at 
org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:111)
    at 
org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:97)
    at 
org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:178)
    at 
org.hibernate.id.insert.AbstractSelectingDelegate.performInsert(AbstractSelectingDelegate.java:45)
    at 
org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3037)
    at 
org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3628)
    at 
org.hibernate.action.internal.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:81)
    at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:645)
    at 
org.hibernate.engine.spi.ActionQueue.addResolvedEntityInsertAction(ActionQueue.java:282)
    at 
org.hibernate.engine.spi.ActionQueue.addInsertAction(ActionQueue.java:263)
    at org.hibernate.engine.spi.ActionQueue.addAction(ActionQueue.java:317)
    at 
org.hibernate.event.internal.AbstractSaveEventListener.addInsertAction(AbstractSaveEventListener.java:359)
    at 
org.hibernate.event.internal.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:292)
    at 
org.hibernate.event.internal.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:200)
    at 
org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:131)
    at 
org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:192)
    at 
org.hibernate.event.internal.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:38)
    at 
org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:177)
    at 
org.hibernate.event.internal.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:32)
    at 
org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:73)
    at org.hibernate.internal.SessionImpl.fireSave(SessionImpl.java:709)
    at org.hibernate.internal.SessionImpl.save(SessionImpl.java:701)
    at org.hibernate.internal.SessionImpl.save(SessionImpl.java:696)
    at sk.palo.liska.ServiceImpl.saveTable(ServiceImpl.java:31)
    at sun.reflect.GeneratedMethodAccessor36.invoke(Unknown Source)
    at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at 
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
    at 
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:197)
    at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
    at 
org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:294)
    at 
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98)
    at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
    at 
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
    at com.sun.proxy.$Proxy42.saveTable(Unknown Source)
    at 
sk.palo.liska.ServiceImplTest.lambda$insertTasks$4(ServiceImplTest.java:237)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.sql.SQLTransactionRollbackException: A lock could not be 
obtained within the time requested
    at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown 
Source)
    at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
    at 
org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown 
Source)
    at 
org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown 
Source)
    at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown 
Source)
    at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown 
Source)
    at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown 
Source)
    at 
org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown 
Source)
    at 
org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeLargeUpdate(Unknown 
Source)
    at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeUpdate(Unknown 
Source)
    at 
org.apache.commons.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:98)
    at 
org.apache.commons.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:98)
    at 
org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:175)
    ... 37 common frames omitted
Caused by: org.apache.derby.iapi.error.StandardException: A lock could not be 
obtained within the time requested
    at org.apache.derby.iapi.error.StandardException.newException(Unknown 
Source)
    at org.apache.derby.iapi.error.StandardException.newException(Unknown 
Source)
    at 
org.apache.derby.impl.sql.catalog.SequenceUpdater.tooMuchContentionException(Unknown
 Source)
    at 
org.apache.derby.impl.sql.catalog.SequenceUpdater.getCurrentValueAndAdvance(Unknown
 Source)
    at 
org.apache.derby.impl.sql.catalog.DataDictionaryImpl.getCurrentValueAndAdvance(Unknown
 Source)
    at 
org.apache.derby.impl.sql.execute.BaseActivation.getCurrentValueAndAdvance(Unknown
 Source)
    at 
org.apache.derby.impl.sql.execute.InsertResultSet.getSetAutoincrementValue(Unknown
 Source)
    at 
org.apache.derby.impl.sql.execute.BaseActivation.getSetAutoincrementValue(Unknown
 Source)
    at org.apache.derby.exe.ac292a80bcx0164x1c65xaecfx00000d3715680.e0(Unknown 
Source)
    at org.apache.derby.impl.services.reflect.DirectCall.invoke(Unknown Source)
    at org.apache.derby.impl.sql.execute.RowResultSet.getNextRowCore(Unknown 
Source)
    at 
org.apache.derby.impl.sql.execute.NormalizeResultSet.getNextRowCore(Unknown 
Source)
    at 
org.apache.derby.impl.sql.execute.DMLWriteResultSet.getNextRowCore(Unknown 
Source)
    at org.apache.derby.impl.sql.execute.InsertResultSet.getNextRowCore(Unknown 
Source)
    at org.apache.derby.impl.sql.execute.InsertResultSet.open(Unknown Source)
    at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(Unknown 
Source)
    at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown 
Source)
    ... 44 common frames omitted
{code}
Setup: transaction management with spring + hibernate.

Test code is here: [[https://github.com/paloliska/tooMuchContention] | 
https://github.com/paloliska/tooMuchContention] Master branch has derby version 
10.13.1.1, hibernate 4.3.11, and spring 4.3.7. latest_dependencies has latest 
versions.

Run test with:
{code:java}
mvn test
{code}
Tests are not stable. But with proper setup, you could make to fail all of 
them. Depends on current hardware, load. In Tests also could be set number of 
threads and timeout for each test. Test will run until timeout or fail.

  was:
During many concurrent inserts derby throws tooMuchContentionExpection.
{code:java}
org.hibernate.exception.LockAcquisitionException: could not execute statement
    at 
org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:75)
    at 
org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:42)
    at 
org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:111)
    at 
org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:97)
    at 
org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:178)
    at 
org.hibernate.id.insert.AbstractSelectingDelegate.performInsert(AbstractSelectingDelegate.java:45)
    at 
org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3037)
    at 
org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3628)
    at 
org.hibernate.action.internal.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:81)
    at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:645)
    at 
org.hibernate.engine.spi.ActionQueue.addResolvedEntityInsertAction(ActionQueue.java:282)
    at 
org.hibernate.engine.spi.ActionQueue.addInsertAction(ActionQueue.java:263)
    at org.hibernate.engine.spi.ActionQueue.addAction(ActionQueue.java:317)
    at 
org.hibernate.event.internal.AbstractSaveEventListener.addInsertAction(AbstractSaveEventListener.java:359)
    at 
org.hibernate.event.internal.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:292)
    at 
org.hibernate.event.internal.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:200)
    at 
org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:131)
    at 
org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:192)
    at 
org.hibernate.event.internal.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:38)
    at 
org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:177)
    at 
org.hibernate.event.internal.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:32)
    at 
org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:73)
    at org.hibernate.internal.SessionImpl.fireSave(SessionImpl.java:709)
    at org.hibernate.internal.SessionImpl.save(SessionImpl.java:701)
    at org.hibernate.internal.SessionImpl.save(SessionImpl.java:696)
    at sk.palo.liska.ServiceImpl.saveTable(ServiceImpl.java:31)
    at sun.reflect.GeneratedMethodAccessor36.invoke(Unknown Source)
    at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at 
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
    at 
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:197)
    at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
    at 
org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:294)
    at 
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98)
    at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
    at 
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
    at com.sun.proxy.$Proxy42.saveTable(Unknown Source)
    at 
sk.palo.liska.ServiceImplTest.lambda$insertTasks$4(ServiceImplTest.java:237)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.sql.SQLTransactionRollbackException: A lock could not be 
obtained within the time requested
    at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown 
Source)
    at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
    at 
org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown 
Source)
    at 
org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown 
Source)
    at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown 
Source)
    at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown 
Source)
    at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown 
Source)
    at 
org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown 
Source)
    at 
org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeLargeUpdate(Unknown 
Source)
    at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeUpdate(Unknown 
Source)
    at 
org.apache.commons.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:98)
    at 
org.apache.commons.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:98)
    at 
org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:175)
    ... 37 common frames omitted
Caused by: org.apache.derby.iapi.error.StandardException: A lock could not be 
obtained within the time requested
    at org.apache.derby.iapi.error.StandardException.newException(Unknown 
Source)
    at org.apache.derby.iapi.error.StandardException.newException(Unknown 
Source)
    at 
org.apache.derby.impl.sql.catalog.SequenceUpdater.tooMuchContentionException(Unknown
 Source)
    at 
org.apache.derby.impl.sql.catalog.SequenceUpdater.getCurrentValueAndAdvance(Unknown
 Source)
    at 
org.apache.derby.impl.sql.catalog.DataDictionaryImpl.getCurrentValueAndAdvance(Unknown
 Source)
    at 
org.apache.derby.impl.sql.execute.BaseActivation.getCurrentValueAndAdvance(Unknown
 Source)
    at 
org.apache.derby.impl.sql.execute.InsertResultSet.getSetAutoincrementValue(Unknown
 Source)
    at 
org.apache.derby.impl.sql.execute.BaseActivation.getSetAutoincrementValue(Unknown
 Source)
    at org.apache.derby.exe.ac292a80bcx0164x1c65xaecfx00000d3715680.e0(Unknown 
Source)
    at org.apache.derby.impl.services.reflect.DirectCall.invoke(Unknown Source)
    at org.apache.derby.impl.sql.execute.RowResultSet.getNextRowCore(Unknown 
Source)
    at 
org.apache.derby.impl.sql.execute.NormalizeResultSet.getNextRowCore(Unknown 
Source)
    at 
org.apache.derby.impl.sql.execute.DMLWriteResultSet.getNextRowCore(Unknown 
Source)
    at org.apache.derby.impl.sql.execute.InsertResultSet.getNextRowCore(Unknown 
Source)
    at org.apache.derby.impl.sql.execute.InsertResultSet.open(Unknown Source)
    at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(Unknown 
Source)
    at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown 
Source)
    ... 44 common frames omitted
{code}
Setup: transaction management with spring + hibernate.

Test code is here: 
[https://github.com/paloliska/tooMuchContention|https://github.com/paloliska/tooMuchContention[]|https://github.com/paloliska/tooMuchContention]
 Master branch has derby version 10.13.1.1, hibernate 4.3.11, and spring 4.3.7. 
latest_dependencies has latest versions.

Run test with:
{code:java}
mvn test
{code}
Tests are not stable. But with proper setup, you could make to fail all of 
them. Depends on current hardware, load. In Tests also could be set number of 
threads and timeout for each test. Test will run until timeout or fail.


> tooMuchContentionException thrown during concurrent inserts
> -----------------------------------------------------------
>
>                 Key: DERBY-6999
>                 URL: https://issues.apache.org/jira/browse/DERBY-6999
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC
>    Affects Versions: 10.13.1.1, 10.14.2.0
>         Environment: hibernate + spring
>            Reporter: Pavol Liška
>            Priority: Major
>
> During many concurrent inserts derby throws tooMuchContentionExpection.
> {code:java}
> org.hibernate.exception.LockAcquisitionException: could not execute statement
>     at 
> org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:75)
>     at 
> org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:42)
>     at 
> org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:111)
>     at 
> org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:97)
>     at 
> org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:178)
>     at 
> org.hibernate.id.insert.AbstractSelectingDelegate.performInsert(AbstractSelectingDelegate.java:45)
>     at 
> org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3037)
>     at 
> org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3628)
>     at 
> org.hibernate.action.internal.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:81)
>     at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:645)
>     at 
> org.hibernate.engine.spi.ActionQueue.addResolvedEntityInsertAction(ActionQueue.java:282)
>     at 
> org.hibernate.engine.spi.ActionQueue.addInsertAction(ActionQueue.java:263)
>     at org.hibernate.engine.spi.ActionQueue.addAction(ActionQueue.java:317)
>     at 
> org.hibernate.event.internal.AbstractSaveEventListener.addInsertAction(AbstractSaveEventListener.java:359)
>     at 
> org.hibernate.event.internal.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:292)
>     at 
> org.hibernate.event.internal.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:200)
>     at 
> org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:131)
>     at 
> org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:192)
>     at 
> org.hibernate.event.internal.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:38)
>     at 
> org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:177)
>     at 
> org.hibernate.event.internal.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:32)
>     at 
> org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:73)
>     at org.hibernate.internal.SessionImpl.fireSave(SessionImpl.java:709)
>     at org.hibernate.internal.SessionImpl.save(SessionImpl.java:701)
>     at org.hibernate.internal.SessionImpl.save(SessionImpl.java:696)
>     at sk.palo.liska.ServiceImpl.saveTable(ServiceImpl.java:31)
>     at sun.reflect.GeneratedMethodAccessor36.invoke(Unknown Source)
>     at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>     at java.lang.reflect.Method.invoke(Method.java:498)
>     at 
> org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
>     at 
> org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:197)
>     at 
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
>     at 
> org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:294)
>     at 
> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98)
>     at 
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
>     at 
> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
>     at com.sun.proxy.$Proxy42.saveTable(Unknown Source)
>     at 
> sk.palo.liska.ServiceImplTest.lambda$insertTasks$4(ServiceImplTest.java:237)
>     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>     at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>     at java.lang.Thread.run(Thread.java:748)
> Caused by: java.sql.SQLTransactionRollbackException: A lock could not be 
> obtained within the time requested
>     at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown 
> Source)
>     at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
>     at 
> org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown 
> Source)
>     at 
> org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown 
> Source)
>     at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown 
> Source)
>     at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown 
> Source)
>     at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown 
> Source)
>     at 
> org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown 
> Source)
>     at 
> org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeLargeUpdate(Unknown 
> Source)
>     at 
> org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeUpdate(Unknown 
> Source)
>     at 
> org.apache.commons.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:98)
>     at 
> org.apache.commons.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:98)
>     at 
> org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:175)
>     ... 37 common frames omitted
> Caused by: org.apache.derby.iapi.error.StandardException: A lock could not be 
> obtained within the time requested
>     at org.apache.derby.iapi.error.StandardException.newException(Unknown 
> Source)
>     at org.apache.derby.iapi.error.StandardException.newException(Unknown 
> Source)
>     at 
> org.apache.derby.impl.sql.catalog.SequenceUpdater.tooMuchContentionException(Unknown
>  Source)
>     at 
> org.apache.derby.impl.sql.catalog.SequenceUpdater.getCurrentValueAndAdvance(Unknown
>  Source)
>     at 
> org.apache.derby.impl.sql.catalog.DataDictionaryImpl.getCurrentValueAndAdvance(Unknown
>  Source)
>     at 
> org.apache.derby.impl.sql.execute.BaseActivation.getCurrentValueAndAdvance(Unknown
>  Source)
>     at 
> org.apache.derby.impl.sql.execute.InsertResultSet.getSetAutoincrementValue(Unknown
>  Source)
>     at 
> org.apache.derby.impl.sql.execute.BaseActivation.getSetAutoincrementValue(Unknown
>  Source)
>     at 
> org.apache.derby.exe.ac292a80bcx0164x1c65xaecfx00000d3715680.e0(Unknown 
> Source)
>     at org.apache.derby.impl.services.reflect.DirectCall.invoke(Unknown 
> Source)
>     at org.apache.derby.impl.sql.execute.RowResultSet.getNextRowCore(Unknown 
> Source)
>     at 
> org.apache.derby.impl.sql.execute.NormalizeResultSet.getNextRowCore(Unknown 
> Source)
>     at 
> org.apache.derby.impl.sql.execute.DMLWriteResultSet.getNextRowCore(Unknown 
> Source)
>     at 
> org.apache.derby.impl.sql.execute.InsertResultSet.getNextRowCore(Unknown 
> Source)
>     at org.apache.derby.impl.sql.execute.InsertResultSet.open(Unknown Source)
>     at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(Unknown 
> Source)
>     at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown 
> Source)
>     ... 44 common frames omitted
> {code}
> Setup: transaction management with spring + hibernate.
> Test code is here: [[https://github.com/paloliska/tooMuchContention] | 
> https://github.com/paloliska/tooMuchContention] Master branch has derby 
> version 10.13.1.1, hibernate 4.3.11, and spring 4.3.7. latest_dependencies 
> has latest versions.
> Run test with:
> {code:java}
> mvn test
> {code}
> Tests are not stable. But with proper setup, you could make to fail all of 
> them. Depends on current hardware, load. In Tests also could be set number of 
> threads and timeout for each test. Test will run until timeout or fail.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to