Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 353115 - Several failures for foundation testing within org.eclipse.persistence.testing.tests.simultaneous.AddDescriptorsMultithreadedTest with deadlock against SQLServer DB
Summary: Several failures for foundation testing within org.eclipse.persistence.testin...
Status: NEW
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: Eclipselink (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Nobody - feel free to take it CLA
QA Contact:
URL:
Whiteboard: sqlserver
Keywords:
Depends on:
Blocks:
 
Reported: 2011-07-26 10:16 EDT by Kevin Yuan CLA
Modified: 2022-06-09 10:25 EDT (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kevin Yuan CLA 2011-07-26 10:16:23 EDT
SQL Server: 2008
JDK: 1.6.0_24

Stack Trace:
============

Internal Exception: com.microsoft.sqlserver.jdbc.SQLServerException: Transaction (Process ID 56) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction. Error Code: 1205 Call: UPDATE SEQUENCE SET SEQ_COUNT = SEQ_COUNT + ? WHERE SEQ_NAME = ? bind => [2 parameters bound] Query: DataModifyQuery(name="SEQUENCE" sql="UPDATE SEQUENCE SET SEQ_COUNT = SEQ_COUNT + ? WHERE SEQ_NAME = ?")

Local Exception Stack:
Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.4.0.v20110726-r9789): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: com.microsoft.sqlserver.jdbc.SQLServerException: Transaction (Process ID 56) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
Error Code: 1205
Call: UPDATE SEQUENCE SET SEQ_COUNT = SEQ_COUNT + ? WHERE SEQ_NAME = ?
bind => [2 parameters bound]
Query: DataModifyQuery(name="SEQUENCE" sql="UPDATE SEQUENCE SET SEQ_COUNT = SEQ_COUNT + ? WHERE SEQ_NAME = ?")
at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:324)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(DatabaseAccessor.java:840)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeNoSelect(DatabaseAccessor.java:906)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:592)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:535)
at org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:1713)
at org.eclipse.persistence.sessions.server.ClientSession.executeCall(ClientSession.java:253)
at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:207)
at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:193)
at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeNoSelectCall(DatasourceCallQueryMechanism.java:236)
at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeNoSelect(DatasourceCallQueryMechanism.java:216)
at org.eclipse.persistence.queries.DataModifyQuery.executeDatabaseQuery(DataModifyQuery.java:85)
at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:844)
at org.eclipse.persistence.internal.sessions.AbstractSession.internalExecuteQuery(AbstractSession.java:2827)
at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1512)
at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1494)
at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1459)
at org.eclipse.persistence.sequencing.QuerySequence.update(QuerySequence.java:340)
at org.eclipse.persistence.sequencing.QuerySequence.updateAndSelectSequence(QuerySequence.java:277)
at org.eclipse.persistence.sequencing.StandardSequence.getGeneratedVector(StandardSequence.java:71)
at org.eclipse.persistence.sequencing.DefaultSequence.getGeneratedVector(DefaultSequence.java:163)
at org.eclipse.persistence.sequencing.Sequence.getGeneratedVector(Sequence.java:257)
at org.eclipse.persistence.internal.sequencing.SequencingManager$Preallocation_Transaction_NoAccessor_State.getNextValue(SequencingManager.java:468)
at org.eclipse.persistence.internal.sequencing.SequencingManager.getNextValue(SequencingManager.java:1067)
at org.eclipse.persistence.internal.sequencing.ClientSessionSequencing.getNextValue(ClientSessionSequencing.java:70)
at org.eclipse.persistence.internal.descriptors.ObjectBuilder.assignSequenceNumber(ObjectBuilder.java:364)
at org.eclipse.persistence.internal.descriptors.ObjectBuilder.assignSequenceNumber(ObjectBuilder.java:323)
at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.assignSequenceNumber(UnitOfWorkImpl.java:465)
at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.assignSequenceNumber(UnitOfWorkImpl.java:450)
at org.eclipse.persistence.testing.tests.simultaneous.AddDescriptorsMultithreadedTest$SequencePreallocationTest.test(AddDescriptorsMultithreadedTest.java:278)
at org.eclipse.persistence.testing.framework.TestCase.executeTest(TestCase.java:545)
at org.eclipse.persistence.testing.framework.TestCase.execute(TestCase.java:156)
at org.eclipse.persistence.testing.framework.TestCase.runBare(TestCase.java:265)
at org.eclipse.persistence.testing.framework.TestExecutor.execute(TestExecutor.java:248)
at org.eclipse.persistence.testing.tests.simultaneous.TestExecutorWithClientSession.runTest(TestExecutorWithClientSession.java:153)
at org.eclipse.persistence.testing.framework.ui.SynchronizedTestExecutor.run(SynchronizedTestExecutor.java:61)
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Transaction (Process ID 56) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(Unknown Source)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeUpdate(Unknown Source)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(DatabaseAccessor.java:831)

The following failed tests with the same exception as above:
============================================================
1.) org.eclipse.persistence.testing.tests.simultaneous.AddDescriptorsMultithreadedTest$SequencePreallocationTest.SequencePreallocationTest
2.) org.eclipse.persistence.testing.tests.simultaneous.AddDescriptorsMultithreadedTest$SequencePreallocationTest.SequencePreallocationTest
3.) org.eclipse.persistence.testing.tests.simultaneous.AddDescriptorsMultithreadedTest$SequencePreallocationTest.SequencePreallocationTest
4.) org.eclipse.persistence.testing.tests.simultaneous.AddDescriptorsMultithreadedTest$SequencePreallocationTest.SequencePreallocationTest
5.) org.eclipse.persistence.testing.tests.simultaneous.AddDescriptorsMultithreadedTest$SequencePreallocationTest.SequencePreallocationTest
6.) org.eclipse.persistence.testing.tests.simultaneous.AddDescriptorsMultithreadedTest$SequencePreallocationTest.SequencePreallocationTest
7.) org.eclipse.persistence.testing.tests.simultaneous.AddDescriptorsMultithreadedTest$SequencePreallocationTest.SequencePreallocationTest
8.) org.eclipse.persistence.testing.tests.simultaneous.AddDescriptorsMultithreadedTest$SequencePreallocationTest.SequencePreallocationTest
9.) org.eclipse.persistence.testing.tests.simultaneous.AddDescriptorsMultithreadedTest$SequencePreallocationTest.SequencePreallocationTest
10.) org.eclipse.persistence.testing.tests.simultaneous.AddDescriptorsMultithreadedTest$SequencePreallocationTest.SequencePreallocationTest
11.) org.eclipse.persistence.testing.tests.simultaneous.AddDescriptorsMultithreadedTest$SequencePreallocationTest.SequencePreallocationTest
12.) org.eclipse.persistence.testing.tests.simultaneous.AddDescriptorsMultithreadedTest$SequencePreallocationTest.SequencePreallocationTest
13.) org.eclipse.persistence.testing.tests.simultaneous.AddDescriptorsMultithreadedTest$InsertTest.InsertTest
14.) org.eclipse.persistence.testing.tests.simultaneous.AddDescriptorsMultithreadedTest$InsertTest.InsertTest
15.) org.eclipse.persistence.testing.tests.simultaneous.AddDescriptorsMultithreadedTest$InsertTest.InsertTest
16.) org.eclipse.persistence.testing.tests.simultaneous.AddDescriptorsMultithreadedTest$InsertTest.InsertTest
17.) org.eclipse.persistence.testing.tests.simultaneous.AddDescriptorsMultithreadedTest$InsertTest.InsertTest
18.) org.eclipse.persistence.testing.tests.simultaneous.AddDescriptorsMultithreadedTest$InsertTest.InsertTest
19.) org.eclipse.persistence.testing.tests.simultaneous.AddDescriptorsMultithreadedTest$InsertTest.InsertTest
20.) org.eclipse.persistence.testing.tests.simultaneous.AddDescriptorsMultithreadedTest$InsertTest.InsertTest
21.) org.eclipse.persistence.testing.tests.simultaneous.AddDescriptorsMultithreadedTest$InsertTest.InsertTest
22.) org.eclipse.persistence.testing.tests.simultaneous.AddDescriptorsMultithreadedTest$InsertTest.InsertTest
Comment 1 Praba Vijayaratnam CLA 2011-08-15 09:15:04 EDT
Also failed on Sybase15.5_jconnect3 on trunk build (2011-08-15)
Comment 2 Petros Splinakis CLA 2014-11-26 09:13:21 EST
This test has been disabled for SQL Server for causing deadlocks as part of Bug 447589.
Comment 3 Eclipse Webmaster CLA 2022-06-09 10:25:26 EDT
The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink