[ https://issues.apache.org/jira/browse/OOZIE-3240?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16477277#comment-16477277 ]
Peter Cseh commented on OOZIE-3240: ----------------------------------- The main fix here is - similar to OOZIE-4246 - is to stop brokers in finally blocks, right? Seems legit. You have removed the jmsService.destroy() call from the end. What is the reason for doing that? I'm not that familiar with JMS to know from the top of my head. > Flaky test TestJMSAccessorService#testConnectionRetry > ----------------------------------------------------- > > Key: OOZIE-3240 > URL: https://issues.apache.org/jira/browse/OOZIE-3240 > Project: Oozie > Issue Type: Sub-task > Reporter: Peter Bacsko > Assignee: Peter Bacsko > Priority: Major > Attachments: OOZIE-3240-002.patch, OOZIE-3240.txt > > > The test TestJMSAccessorService#testConnectionRetry failed with the following > errors in the log: > {noformat} > junit.framework.AssertionFailedError > at > org.apache.oozie.service.TestJMSAccessorService.testConnectionRetry(TestJMSAccessorService.java:183) > {noformat} > {noformat} > [jndiProperties=java.naming.factory.initial#org.apache.activemq.jndi.ActiveMQInitialContextFactory;java.naming.provider.url#tcp://localhost:39362;connectionFactoryNames#ConnectionFactory]] > javax.jms.JMSException: Could not connect to broker URL: > tcp://localhost:39362. Reason: java.net.ConnectException: Connection refused > (Connection refused) > at > org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:36) > at > org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:373) > at > org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:303) > at > org.apache.activemq.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:243) > at > org.apache.oozie.jms.DefaultConnectionContext.createConnection(DefaultConnectionContext.java:53) > at > org.apache.oozie.service.JMSAccessorService.createConnectionContext(JMSAccessorService.java:264) > at > org.apache.oozie.service.JMSAccessorService.registerForNotification(JMSAccessorService.java:110) > at > org.apache.oozie.service.TestJMSAccessorService.testConnectionRetry(TestJMSAccessorService.java:173) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at junit.framework.TestCase.runTest(TestCase.java:176) > at junit.framework.TestCase.runBare(TestCase.java:141) > at junit.framework.TestResult$1.protect(TestResult.java:122) > at junit.framework.TestResult.runProtected(TestResult.java:142) > at junit.framework.TestResult.run(TestResult.java:125) > at junit.framework.TestCase.run(TestCase.java:129) > at junit.framework.TestSuite.runTest(TestSuite.java:255) > at junit.framework.TestSuite.run(TestSuite.java:250) > at > org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:84) > at org.junit.runners.Suite.runChild(Suite.java:127) > at org.junit.runners.Suite.runChild(Suite.java:26) > at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) > at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) > at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) > at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) > at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) > at org.junit.runners.ParentRunner.run(ParentRunner.java:309) > at org.junit.runners.Suite.runChild(Suite.java:127) > at org.junit.runners.Suite.runChild(Suite.java:26) > at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) > at > org.apache.maven.surefire.junitcore.pc.Scheduler$1.run(Scheduler.java:410) > at > org.apache.maven.surefire.junitcore.pc.InvokerStrategy.schedule(InvokerStrategy.java:54) > at > org.apache.maven.surefire.junitcore.pc.Scheduler.schedule(Scheduler.java:367) > at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) > at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) > at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) > at org.junit.runners.ParentRunner.run(ParentRunner.java:309) > at > org.apache.maven.surefire.junitcore.pc.ParallelComputerBuilder$PC$1.run(ParallelComputerBuilder.java:593) > at org.apache.maven.surefire.junitcore.JUnitCore.run(JUnitCore.java:55) > at > org.apache.maven.surefire.junitcore.JUnitCoreWrapper.createRequestAndRun(JUnitCoreWrapper.java:137) > at > org.apache.maven.surefire.junitcore.JUnitCoreWrapper.executeEager(JUnitCoreWrapper.java:107) > at > org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:83) > at > org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:75) > at > org.apache.maven.surefire.junitcore.JUnitCoreProvider.invoke(JUnitCoreProvider.java:159) > at > org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:373) > at > org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:334) > at > org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:119) > at > org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:407) > Caused by: java.net.ConnectException: Connection refused (Connection refused) > at java.net.PlainSocketImpl.socketConnect(Native Method) > at > java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) > at > java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) > at > java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) > at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) > at java.net.Socket.connect(Socket.java:589) > at > org.apache.activemq.transport.tcp.TcpTransport.connect(TcpTransport.java:525) > at > org.apache.activemq.transport.tcp.TcpTransport.doStart(TcpTransport.java:488) > at org.apache.activemq.util.ServiceSupport.start(ServiceSupport.java:55) > at > org.apache.activemq.transport.AbstractInactivityMonitor.start(AbstractInactivityMonitor.java:168) > at > org.apache.activemq.transport.InactivityMonitor.start(InactivityMonitor.java:52) > at > org.apache.activemq.transport.TransportFilter.start(TransportFilter.java:58) > at > org.apache.activemq.transport.WireFormatNegotiator.start(WireFormatNegotiator.java:72) > at > org.apache.activemq.transport.TransportFilter.start(TransportFilter.java:58) > at > org.apache.activemq.transport.TransportFilter.start(TransportFilter.java:58) > at > org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:353) > ... 48 more > {noformat} > {noformat} > [jndiProperties=java.naming.factory.initial#org.apache.activemq.jndi.ActiveMQInitialContextFactory;java.naming.provider.url#tcp://localhost:39362;connectionFactoryNames#ConnectionFactory]] > javax.jms.JMSException: java.io.InterruptedIOException > at > org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:72) > at > org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1407) > at > org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1496) > at > org.apache.activemq.ActiveMQConnection.start(ActiveMQConnection.java:523) > at > org.apache.oozie.jms.DefaultConnectionContext.createConnection(DefaultConnectionContext.java:54) > at > org.apache.oozie.service.JMSAccessorService.createConnectionContext(JMSAccessorService.java:264) > at > org.apache.oozie.service.JMSAccessorService.retryConnection(JMSAccessorService.java:377) > at > org.apache.oozie.service.JMSAccessorService$JMSRetryRunnable.run(JMSAccessorService.java:470) > at > org.apache.oozie.service.SchedulerService$3.run(SchedulerService.java:210) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) > at java.util.concurrent.FutureTask.run(FutureTask.java:266) > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) > 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.io.InterruptedIOException > at > org.apache.activemq.transport.FutureResponse.dealWithInterrupt(FutureResponse.java:63) > at > org.apache.activemq.transport.FutureResponse.getResult(FutureResponse.java:51) > at > org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:87) > at > org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1382) > ... 14 more > Caused by: java.lang.InterruptedException > at > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:2014) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2048) > at > java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:403) > at > org.apache.activemq.transport.FutureResponse.getResult(FutureResponse.java:48) > ... 16 more > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)