Issue Details (XML | Word | Printable)

Key: AMQ-1690
Type: Improvement Improvement
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Rob Davies
Reporter: Gary Tully
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
ActiveMQ

QuickJPAStoreRecoveryBrokerTest.testQueueNonPersistentMessagesLostOnRestart sometimes fails, timing issue with broker shutdown

Created: 25/Apr/08 07:06 AM   Updated: 12/May/08 02:54 AM
Return to search
Component/s: Test Cases
Affects Version/s: 5.1.0
Fix Version/s: 5.1.0

Time Tracking:
Not Specified

File Attachments:
  Size
Text File Licensed for inclusion in ASF works jpaShutdownFailure.patch 2008-04-25 07:08 AM Gary Tully 1 kB
Environment: windows

Patch Info: Patch Available


 Description  « Hide
QuickJPAStoreRecoveryBrokerTest.testQueueNonPersistentMessagesLostOnRestart can fail with the stack trace below.
the problem is that the vmtransport can be persisting data while the broker is attempting to close the persistence adapter.

The brokerService has a comment to have the VMTransport shuts down after the services, but puts it last of all. Moving the shutdown of the vmtransport to just before the persistence adapter shutdown works better for this test case.

[08:16:01]: org.apache.activemq.broker.store.QuickJPAStoreRecoveryBrokerTest (21s)
[08:16:01]: [org.apache.activemq.broker.store.QuickJPAStoreRecoveryBrokerTest] testTopicDurableConsumerHoldsPersistentMessageAfterRestart (1s)
[08:16:01]: [testTopicDurableConsumerHoldsPersistentMessageAfterRestart]
[08:16:01]: [testTopicDurableConsumerHoldsPersistentMessageAfterRestart] &openjpa-1.0.0-r420667:568756 nonfatal user error& org.apache.openjpa.persistence.InvalidStateException: This operation failed for some instances. See the nested exceptions array for details.
at org.apache.openjpa.kernel.AbstractBrokerFactory.assertNoActiveTransaction(AbstractBrokerFactory.java:696)
at org.apache.openjpa.kernel.AbstractBrokerFactory.close(AbstractBrokerFactory.java:373)
at org.apache.openjpa.kernel.DelegatingBrokerFactory.close(DelegatingBrokerFactory.java:183)
at org.apache.openjpa.persistence.EntityManagerFactoryImpl.close(EntityManagerFactoryImpl.java:286)
at org.apache.activemq.store.jpa.JPAPersistenceAdapter.stop(JPAPersistenceAdapter.java:198)
at org.apache.activemq.store.amq.AMQPersistenceAdapter.stop(AMQPersistenceAdapter.java:307)
at org.apache.activemq.util.ServiceStopper.stop(ServiceStopper.java:41)
at org.apache.activemq.broker.BrokerService.stop(BrokerService.java:484)
at org.apache.activemq.broker.BrokerTestSupport.tearDown(BrokerTestSupport.java:101)
at junit.framework.TestCase.runBare(TestCase.java:130)
at org.apache.activemq.CombinationTestSupport.runBare(CombinationTestSupport.java:90)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:210)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:135)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:122)
at org.apache.maven.surefire.Surefire.run(Surefire.java:129)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:225)
at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:747)
Caused by: &openjpa-1.0.0-r420667:568756 nonfatal user error& org.apache.openjpa.persistence.InvalidStateException: This operation cannot be performed while a Transaction is active.
FailedObject: org.apache.openjpa.persistence.EntityManagerImpl@1f23ca4
at org.apache.openjpa.kernel.AbstractBrokerFactory.assertNoActiveTransaction(AbstractBrokerFactory.java:690)
... 30 more



 All   Comments   Work Log   Change History   Subversion Commits   FishEye   Crucible      Sort Order: Ascending order - Click to sort in descending order
Gary Tully made changes - 25/Apr/08 07:08 AM
Field Original Value New Value
Attachment jpaShutdownFailure.patch [ 16387 ]
Gary Tully made changes - 25/Apr/08 07:11 AM
Summary QuickJPAStoreRecoveryBrokerTest.testQueueNonPersistentMessagesLostOnRestart sometimes fails, timing issue with borker shutdown QuickJPAStoreRecoveryBrokerTest.testQueueNonPersistentMessagesLostOnRestart sometimes fails, timing issue with broker shutdown
Rob Davies made changes - 25/Apr/08 07:40 AM
Assignee Rob Davies [ rajdavies ]
Rob Davies made changes - 25/Apr/08 07:41 AM
Resolution Fixed [ 1 ]
Fix Version/s 5.1.0 [ 11802 ]
Status Open [ 1 ] Resolved [ 5 ]
Gary Tully made changes - 12/May/08 02:54 AM
Status Resolved [ 5 ] Closed [ 6 ]