You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Timothy Bish (JIRA)" <ji...@apache.org> on 2016/05/12 18:47:12 UTC

[jira] [Comment Edited] (AMQ-6209) Unmatched messages on consumer queues when using SubQueueCacheSelectorPlugin in network of browsers

    [ https://issues.apache.org/jira/browse/AMQ-6209?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15281906#comment-15281906 ] 

Timothy Bish edited comment on AMQ-6209 at 5/12/16 6:46 PM:
------------------------------------------------------------

I gave the patch a quick spin and the test fails with the below:

{noformat}
java.lang.reflect.UndeclaredThrowableException
	at com.sun.proxy.$Proxy4.selectorsForDestination(Unknown Source)
	at org.apache.activemq.usecases.TwoBrokerVirtualTopicSelectorFailoverTest.testLeaksAtFailover(TwoBrokerVirtualTopicSelectorFailoverTest.java:137)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at junit.framework.TestCase.runTest(TestCase.java:176)
	at junit.framework.TestCase.runBare(TestCase.java:141)
	at org.apache.activemq.CombinationTestSupport.runBare(CombinationTestSupport.java:107)
	at org.apache.activemq.CombinationTestSupport.runBare(CombinationTestSupport.java:113)
	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:252)
	at junit.framework.TestSuite.run(TestSuite.java:247)
	at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:86)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
Caused by: javax.management.InstanceNotFoundException: org.apache.activemq:type=Broker,brokerName=BrokerA,service=plugin,virtualDestinationSelectoCache=virtualDestinationCache
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getMBean(DefaultMBeanServerInterceptor.java:1095)
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:816)
	at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
	at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:292)
	... 23 more

{noformat}

So you might need to do some more work on the test to ensure it's sound.  There are also some warnings in the test for simple things that can be fixed like missing types to an ArrayList create etc.  


was (Author: tabish121):
I gave the patch a quick spin and the test fails with the below:

{noformat}
java.lang.reflect.UndeclaredThrowableException
	at com.sun.proxy.$Proxy4.selectorsForDestination(Unknown Source)
	at org.apache.activemq.usecases.TwoBrokerVirtualTopicSelectorFailoverTest.testLeaksAtFailover(TwoBrokerVirtualTopicSelectorFailoverTest.java:137)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at junit.framework.TestCase.runTest(TestCase.java:176)
	at junit.framework.TestCase.runBare(TestCase.java:141)
	at org.apache.activemq.CombinationTestSupport.runBare(CombinationTestSupport.java:107)
	at org.apache.activemq.CombinationTestSupport.runBare(CombinationTestSupport.java:113)
	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:252)
	at junit.framework.TestSuite.run(TestSuite.java:247)
	at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:86)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
Caused by: javax.management.InstanceNotFoundException: org.apache.activemq:type=Broker,brokerName=BrokerA,service=plugin,virtualDestinationSelectoCache=virtualDestinationCache
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getMBean(DefaultMBeanServerInterceptor.java:1095)
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:816)
	at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
	at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:292)
	... 23 more

{noformat}

So you might need to do some more work on the test to ensure it's sound. 

> Unmatched messages on consumer queues when using SubQueueCacheSelectorPlugin in network of browsers
> ---------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-6209
>                 URL: https://issues.apache.org/jira/browse/AMQ-6209
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.13.2
>            Reporter: Patrik Dudits
>
> When using SubQueueSelectorCachePlugin to preserve consumers' selectors in network of brokers, the queues start matching all messages after consumers failover between brokers.
> The underlying reason is, that {{SubQueueSelectorCacheBroker}} would cache selector {{TRUE}} for connected demand subscription, and therefore will permanently match all messages even if actual consumer reconnects.
> Additionally, browsing the queue will also cause {{TRUE}} selector to be persisted.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)