Download [#MULE-4387] Intermittent test failure

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
[MULE-4387] Intermittent test failure: ServiceInFlightMessagesTestCase Created:
05/Jun/09 Updated: 05/Apr/16 Resolved: 05/Apr/16
Status:
Project:
Component/s:
Affects
Version/s:
Fix Version/s:
Closed
Mule
Build: Integration Tests, Core: Queues (SEDA) / Persistence
2.2.3 (EE only)
Type:
Reporter:
Resolution:
Labels:
Remaining
Estimate:
Time Spent:
Original
Estimate:
Bug
Daniel Zapata
Won't Fix or Usage Issue
None
Not Specified
None
Priority:
Assignee:
Votes:
Major
Daniel Feist
0
Not Specified
Not Specified
Issue
Duplicate
Links:
Medium
User
impact:
==========================================================================
Log
Output: = Testing: in flight messages =
= (org.mule.test.integration.service.ServiceInFlightMessagesTestCase) =
=========================================================================
[06-05 10:21:38] ERROR DefaultExceptionStrategy [TestService.15]: Caught exception in Exception S
java.io.IOException: Failed to create directory: /home/dzapata/code/ce-mule3.x/tests/integration/.mule/queuestore/out/df76c12c-0e91-4923-8fdd-b334ab8effc7.msg
java.lang.RuntimeException: java.io.IOException: Failed to create directory: /home/dzapata/code/ce-m
3.x/tests/integration/.mule/queuestore/out/df76c12c-0e91-4923-8fdd-b334ab8effc7.msg
at org.mule.util.queue.TransactionalQueueSession$QueueImpl.offer(TransactionalQueueSession.java:9
at org.mule.util.queue.TransactionalQueueSession$QueueImpl.put(TransactionalQueueSession.java:56
at org.mule.transport.vm.VMMessageDispatcher.doDispatch(VMMessageDispatcher.java:56)
at org.mule.transport.vm.VMMessageDispatcher.doSend(VMMessageDispatcher.java:104)
at org.mule.transport.AbstractMessageDispatcher.send(AbstractMessageDispatcher.java:163)
at org.mule.transport.AbstractConnector.send(AbstractConnector.java:2088)
at org.mule.endpoint.DefaultOutboundEndpoint.send(DefaultOutboundEndpoint.java:76)
at org.mule.DefaultMuleSession.sendEvent(DefaultMuleSession.java:327)
at org.mule.DefaultMuleSession.sendEvent(DefaultMuleSession.java:213)
at org.mule.routing.outbound.AbstractOutboundRouter$2.doInTransaction(AbstractOutboundRouter.ja
at org.mule.transaction.TransactionTemplate.execute(TransactionTemplate.java:99)
at org.mule.routing.outbound.AbstractOutboundRouter.send(AbstractOutboundRouter.java:159)
at org.mule.routing.outbound.FilteringOutboundRouter.route(FilteringOutboundRouter.java:79)
at org.mule.routing.outbound.OutboundPassThroughRouter.route(OutboundPassThroughRouter.java:6
at
org.mule.routing.outbound.DefaultOutboundRouterCollection$1.doInTransaction(DefaultOutboundRo
at org.mule.transaction.TransactionTemplate.execute(TransactionTemplate.java:45)
at org.mule.routing.outbound.DefaultOutboundRouterCollection.route(DefaultOutboundRouterCollecti
at org.mule.service.AbstractService.dispatchToOutboundRouter(AbstractService.java:868)
at org.mule.model.seda.SedaService.dispatchToOutboundRouter(SedaService.java:558)
at org.mule.model.seda.SedaService$ComponentStageWorker.run(SedaService.java:581)
at org.mule.work.WorkerContext.run(WorkerContext.java:310)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecuto
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecu
at java.lang.Thread.run(Thread.java:595)
Caused by: java.io.IOException: Failed to create directory: /home/dzapata/code/ce-mule3.x/tests/integration/.mule/queuestore/out/df76c12c-0e91-4923-8fdd-b334ab8effc7.msg
at org.mule.util.queue.FilePersistenceStrategy.store(FilePersistenceStrategy.java:66)
at org.mule.util.queue.TransactionalQueueManager.doStore(TransactionalQueueManager.java:237)
at org.mule.util.queue.TransactionalQueueSession$QueueImpl.offer(TransactionalQueueSession.java:7
... 23 more
[06-05 10:21:38] ERROR DefaultServiceExceptionStrategy [TestService.15]:
********************************************************************************
Message : Failed to route event via endpoint: DefaultOutboundEndpoint{endpointUri=vm://out,
connector=VMConnector{this=449afc, started=true, initialised=true, name='vmOutPersistent', disposed
numberOfConcurrentTransactedReceivers=4, createMultipleTransactedReceivers=true, connected=true
supportedProtocols=[vm], serviceOverrides=null}, transformer=[], name='out', properties={},
transactionConfig=Transaction{factory=null, action=NEVER, timeout=0}, filter=null, deleteUnaccepte
securityFilter=null, synchronous=true, initialState=started, responseTimeout=10000, endpointEncoding
payload is of type: String
Type : org.mule.api.transport.DispatchException
Code : MULE_ERROR-42999
JavaDoc : http://www.mulesource.org/docs/site/current2/apidocs/org/mule/api/transport/DispatchExcep
Payload : test
********************************************************************************
Exception stack is:
1. Failed to create directory: /home/dzapata/code/ce-mule-3.x/tests/integration/.mule/queuestore/out/df7
8fdd-b334ab8effc7.msg (java.io.IOException)
org.mule.util.queue.FilePersistenceStrategy:66 (http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOExce
2. java.io.IOException: Failed to create directory: /home/dzapata/code/ce-mule3.x/tests/integration/.mule/queuestore/out/df76c12c-0e91-4923-8fdd-b334ab8effc7.msg (java.lang.Run
org.mule.util.queue.TransactionalQueueSession$QueueImpl:91
(http://java.sun.com/j2se/1.5.0/docs/api/java/lang/RuntimeException.html)
3. Failed to route event via endpoint: DefaultOutboundEndpoint{endpointUri=vm://out,
connector=VMConnector{this=449afc, started=true, initialised=true, name='vmOutPersistent', disposed
numberOfConcurrentTransactedReceivers=4, createMultipleTransactedReceivers=true, connected=true
supportedProtocols=[vm], serviceOverrides=null}, transformer=[], name='out', properties={},
transactionConfig=Transaction{factory=null, action=NEVER, timeout=0}, filter=null, deleteUnaccepte
securityFilter=null, synchronous=true, initialState=started, responseTimeout=10000, endpointEncoding
payload is of type: String (org.mule.api.transport.DispatchException)
org.mule.transport.AbstractMessageDispatcher:185
(http://www.mulesource.org/docs/site/current2/apidocs/org/mule/api/transport/DispatchException.html
********************************************************************************
Root Exception stack trace:
java.io.IOException: Failed to create directory: /home/dzapata/code/ce-mule3.x/tests/integration/.mule/queuestore/out/df76c12c-0e91-4923-8fdd-b334ab8effc7.msg
at org.mule.util.queue.FilePersistenceStrategy.store(FilePersistenceStrategy.java:66)
at org.mule.util.queue.TransactionalQueueManager.doStore(TransactionalQueueManager.java:237)
at org.mule.util.queue.TransactionalQueueSession$QueueImpl.offer(TransactionalQueueSession.java:7
at org.mule.util.queue.TransactionalQueueSession$QueueImpl.put(TransactionalQueueSession.java:56
at org.mule.transport.vm.VMMessageDispatcher.doDispatch(VMMessageDispatcher.java:56)
at org.mule.transport.vm.VMMessageDispatcher.doSend(VMMessageDispatcher.java:104)
at org.mule.transport.AbstractMessageDispatcher.send(AbstractMessageDispatcher.java:163)
at org.mule.transport.AbstractConnector.send(AbstractConnector.java:2088)
at org.mule.endpoint.DefaultOutboundEndpoint.send(DefaultOutboundEndpoint.java:76)
at org.mule.DefaultMuleSession.sendEvent(DefaultMuleSession.java:327)
at org.mule.DefaultMuleSession.sendEvent(DefaultMuleSession.java:213)
at org.mule.routing.outbound.AbstractOutboundRouter$2.doInTransaction(AbstractOutboundRouter.ja
at org.mule.transaction.TransactionTemplate.execute(TransactionTemplate.java:99)
at org.mule.routing.outbound.AbstractOutboundRouter.send(AbstractOutboundRouter.java:159)
at org.mule.routing.outbound.FilteringOutboundRouter.route(FilteringOutboundRouter.java:79)
at org.mule.routing.outbound.OutboundPassThroughRouter.route(OutboundPassThroughRouter.java:6
at
org.mule.routing.outbound.DefaultOutboundRouterCollection$1.doInTransaction(DefaultOutboundRo
at org.mule.transaction.TransactionTemplate.execute(TransactionTemplate.java:45)
at org.mule.routing.outbound.DefaultOutboundRouterCollection.route(DefaultOutboundRouterCollecti
at org.mule.service.AbstractService.dispatchToOutboundRouter(AbstractService.java:868)
at org.mule.model.seda.SedaService.dispatchToOutboundRouter(SedaService.java:558)
at org.mule.model.seda.SedaService$ComponentStageWorker.run(SedaService.java:581)
at org.mule.work.WorkerContext.run(WorkerContext.java:310)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecuto
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecu
at java.lang.Thread.run(Thread.java:595)
********************************************************************************
[06-05 10:21:38] ERROR DefaultServiceExceptionStrategy [TestService.15]:
********************************************************************************
Message : Failed to route event via endpoint: DefaultOutboundEndpoint{endpointUri=vm://out,
connector=VMConnector{this=449afc, started=true, initialised=true, name='vmOutPersistent', disposed
numberOfConcurrentTransactedReceivers=4, createMultipleTransactedReceivers=true, connected=true
supportedProtocols=[vm], serviceOverrides=null}, transformer=[], name='out', properties={},
transactionConfig=Transaction{factory=null, action=NEVER, timeout=0}, filter=null, deleteUnaccepte
securityFilter=null, synchronous=true, initialState=started, responseTimeout=10000, endpointEncoding
payload is of type: String
Type : org.mule.api.transport.DispatchException
Code : MULE_ERROR-42999
JavaDoc : http://www.mulesource.org/docs/site/current2/apidocs/org/mule/api/transport/DispatchExcep
Payload : test
********************************************************************************
Exception stack is:
1. Failed to create directory: /home/dzapata/code/ce-mule-3.x/tests/integration/.mule/queuestore/out/df7
8fdd-b334ab8effc7.msg (java.io.IOException)
org.mule.util.queue.FilePersistenceStrategy:66 (http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOExce
2. java.io.IOException: Failed to create directory: /home/dzapata/code/ce-mule3.x/tests/integration/.mule/queuestore/out/df76c12c-0e91-4923-8fdd-b334ab8effc7.msg (java.lang.Run
org.mule.util.queue.TransactionalQueueSession$QueueImpl:91
(http://java.sun.com/j2se/1.5.0/docs/api/java/lang/RuntimeException.html)
3. Failed to route event via endpoint: DefaultOutboundEndpoint{endpointUri=vm://out,
connector=VMConnector{this=449afc, started=true, initialised=true, name='vmOutPersistent', disposed
numberOfConcurrentTransactedReceivers=4, createMultipleTransactedReceivers=true, connected=true
supportedProtocols=[vm], serviceOverrides=null}, transformer=[], name='out', properties={},
transactionConfig=Transaction{factory=null, action=NEVER, timeout=0}, filter=null, deleteUnaccepte
securityFilter=null, synchronous=true, initialState=started, responseTimeout=10000, endpointEncoding
payload is of type: String (org.mule.api.transport.DispatchException)
org.mule.transport.AbstractMessageDispatcher:185
(http://www.mulesource.org/docs/site/current2/apidocs/org/mule/api/transport/DispatchException.html
********************************************************************************
Root Exception stack trace:
java.io.IOException: Failed to create directory: /home/dzapata/code/ce-mule3.x/tests/integration/.mule/queuestore/out/df76c12c-0e91-4923-8fdd-b334ab8effc7.msg
at org.mule.util.queue.FilePersistenceStrategy.store(FilePersistenceStrategy.java:66)
at org.mule.util.queue.TransactionalQueueManager.doStore(TransactionalQueueManager.java:237)
at org.mule.util.queue.TransactionalQueueSession$QueueImpl.offer(TransactionalQueueSession.java:7
at org.mule.util.queue.TransactionalQueueSession$QueueImpl.put(TransactionalQueueSession.java:56
at org.mule.transport.vm.VMMessageDispatcher.doDispatch(VMMessageDispatcher.java:56)
at org.mule.transport.vm.VMMessageDispatcher.doSend(VMMessageDispatcher.java:104)
at org.mule.transport.AbstractMessageDispatcher.send(AbstractMessageDispatcher.java:163)
at org.mule.transport.AbstractConnector.send(AbstractConnector.java:2088)
at org.mule.endpoint.DefaultOutboundEndpoint.send(DefaultOutboundEndpoint.java:76)
at org.mule.DefaultMuleSession.sendEvent(DefaultMuleSession.java:327)
at org.mule.DefaultMuleSession.sendEvent(DefaultMuleSession.java:213)
at org.mule.routing.outbound.AbstractOutboundRouter$2.doInTransaction(AbstractOutboundRouter.ja
at org.mule.transaction.TransactionTemplate.execute(TransactionTemplate.java:99)
at org.mule.routing.outbound.AbstractOutboundRouter.send(AbstractOutboundRouter.java:159)
at org.mule.routing.outbound.FilteringOutboundRouter.route(FilteringOutboundRouter.java:79)
at org.mule.routing.outbound.OutboundPassThroughRouter.route(OutboundPassThroughRouter.java:6
at
org.mule.routing.outbound.DefaultOutboundRouterCollection$1.doInTransaction(DefaultOutboundRo
at org.mule.transaction.TransactionTemplate.execute(TransactionTemplate.java:45)
at org.mule.routing.outbound.DefaultOutboundRouterCollection.route(DefaultOutboundRouterCollecti
at org.mule.service.AbstractService.dispatchToOutboundRouter(AbstractService.java:868)
at org.mule.model.seda.SedaService.dispatchToOutboundRouter(SedaService.java:558)
at org.mule.model.seda.SedaService$ComponentStageWorker.run(SedaService.java:581)
at org.mule.work.WorkerContext.run(WorkerContext.java:310)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecuto
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecu
at java.lang.Thread.run(Thread.java:595)
Similar
Issues:
Description
The CE bamboo build has been failing intermittently on ServiceInFlightMessagesTestCase:
http://bamboo.mulesource.org/build/viewBuildResultsFailedTests.action?buildKey=MULE-MULE3JDK5&buil
http://bamboo.mulesource.org/build/viewBuildResultsFailedTests.action?buildKey=MULE-MULE3JDK5&buil
http://bamboo.mulesource.org/build/viewBuildResultsFailedTests.action?buildKey=MULE-MULE3JDK5&buil
http://bamboo.mulesource.org/build/viewBuildResultsFailedTests.action?buildKey=MULE-MULE3JDK5&buil
http://bamboo.mulesource.org/build/viewBuildResultsFailedTests.action?buildKey=MULE-MULE3JDK5&buil
http://bamboo.mulesource.org/build/viewBuildResultsFailedTests.action?buildKey=MULE-MULE3JDK5&buil
http://bamboo.mulesource.org/build/viewBuildResultsFailedTests.action?buildKey=MULE-MULE3JDK5&buil
In flight stop persistent messages paused service
expected:<500> but was:<499>
junit.framework.AssertionFailedError: expected:<500> but was:<499>
at junit.framework.Assert.fail(Assert.java:47)
at junit.framework.Assert.failNotEquals(Assert.java:280)
at junit.framework.Assert.assertEquals(Assert.java:64)
at junit.framework.Assert.assertEquals(Assert.java:198)
at junit.framework.Assert.assertEquals(Assert.java:204)
at org.mule.test.integration.service.ServiceInFlightMessagesTestCase.assertNoLostMessages(ServiceInFlightMe
at
org.mule.test.integration.service.ServiceInFlightMessagesTestCase.testInFlightStopPersistentMessagesPausedSe
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 junit.framework.TestCase.runTest(TestCase.java:164)
at junit.framework.TestCase.runBare(TestCase.java:130)
at org.mule.tck.AbstractMuleTestCase.runBare(AbstractMuleTestCase.java:255)
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:120)
at org.mule.tck.AbstractMuleTestCase.run(AbstractMuleTestCase.java:235)
at junit.framework.TestSuite.runTest(TestSuite.java:230)
at junit.framework.TestSuite.run(TestSuite.java:225)
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:213)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:1
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:165)
at org.apache.maven.surefire.Surefire.run(Surefire.java:107)
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:289)
at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:993)
1 sec
In flight messages
expected:<500> but was:<499>
junit.framework.AssertionFailedError: expected:<500> but was:<499>
at junit.framework.Assert.fail(Assert.java:47)
at junit.framework.Assert.failNotEquals(Assert.java:280)
at junit.framework.Assert.assertEquals(Assert.java:64)
at junit.framework.Assert.assertEquals(Assert.java:198)
at junit.framework.Assert.assertEquals(Assert.java:204)
at org.mule.test.integration.service.ServiceInFlightMessagesTestCase.assertNoLostMessages(ServiceInFlightMe
at org.mule.test.integration.service.ServiceInFlightMessagesTestCase.testInFlightMessages(ServiceInFlightMes
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 junit.framework.TestCase.runTest(TestCase.java:164)
at junit.framework.TestCase.runBare(TestCase.java:130)
at org.mule.tck.AbstractMuleTestCase.runBare(AbstractMuleTestCase.java:255)
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:120)
at org.mule.tck.AbstractMuleTestCase.run(AbstractMuleTestCase.java:235)
at junit.framework.TestSuite.runTest(TestSuite.java:230)
at junit.framework.TestSuite.run(TestSuite.java:225)
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:213)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:1
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:165)
at org.apache.maven.surefire.Surefire.run(Surefire.java:107)
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:289)
at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:993)
I tried adding an assert to make sure that mule was stopped before the message count was checked in assertNoLo
assertFalse("Mule needs to be stopped before we can check the message count", muleContext.isStarted());
However, I saw the failure again without triggering the exception.
See the log output section for an additional exception I noticed when I reproduced this error locally. This may gi
Comments
Comment by Daniel Zapata [ 05/Jun/09 ]
This is probably related to our graceful shutdown story and is causing intermittent build failures.
Comment by Daniel Zapata [ 05/Oct/09 ]
This is failing on the 2.2.x build:
http://bamboo.mulesoft.org/browse/MULE-MULE22JDK5-364
Comment by Andrew Perepelytsya [ 26/Feb/10 ]
I and DF spent some time on it, our findings showed that the race condition is at the
muleContext startup, when 2 competing TransactionalQueueManagers (together with their
FilePersistentStrategies) are introduced. This is just a mistake in the test, and we'll look into
correcting the test.
Other than that, it's all about timing (we're trying to interrupt Mule when it moves messages
from seda queue -> vm queue), also can be improved.
P.S.: DF assigning it to you simply because can't have 2 assignees
Comment by Matias Baldini [ 05/Apr/16 ]
Mule issues cleanup.
Generated at Wed Jun 07 21:20:01 CDT 2017 using JIRA 7.2.4#72006sha1:91606a849e49df24789f9d9a6614de45c98c37a8.
Related documents