Thomas Küstermann created ARTEMIS-2132:
------------------------------------------

             Summary: Multicast consumer via HTTP transport: AMQ212037 
Connection failure has been detected
                 Key: ARTEMIS-2132
                 URL: https://issues.apache.org/jira/browse/ARTEMIS-2132
             Project: ActiveMQ Artemis
          Issue Type: Bug
    Affects Versions: 2.6.3, 2.6.2
         Environment: - {code:none|title=$ java -version}
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
{code}
- OS: Windows 7
            Reporter: Thomas Küstermann


Nabble forum reference: [\[Artemis 2.6.3\] Multicast consumer via HTTP 
transport: AMQ212037 Connection failure has been 
detected|http://activemq.2283324.n4.nabble.com/Artemis-2-6-3-Multicast-consumer-via-HTTP-transport-AMQ212037-Connection-failure-has-been-detected-td4744416.html]

I want to consume messages from a multicast address via HTTP transport. I 
tweaked the http-transport example 
(apache-artemis-2.6.3/examples/features/standard/http-transport) for my 
purpose. The code I'm working on is to be found on 
[Github|https://github.com/thokuest/activemq-artemis-http-transport-multicast].

The code produces 10 messages and a consumer receives these 10 messages. If I 
add a delay as in {{Thread.sleep()}} between each call to
{{MessageConsumer.receive()}}, let's say 1 second, then I receive the 
following exceptions:

{code:none|title=Client Side}
java.lang.reflect.InvocationTargetException
    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 org.apache.activemq.artemis.maven.ArtemisClientPlugin.doExecute 
(ArtemisClientPlugin.java:61)
    at org.apache.activemq.artemis.maven.ArtemisAbstractPlugin.execute 
(ArtemisAbstractPlugin.java:74)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo 
(DefaultBuildPluginManager.java:134)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:208)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:154)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:146)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
(LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
(LifecycleModuleBuilder.java:81)
    at 
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
 (SingleThreadedBuilder.java:51)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute 
(LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:309)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:194)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:107)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:955)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:194)
    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 org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced 
(Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch 
(Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode 
(Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main 
(Launcher.java:356)
Caused by: javax.jms.IllegalStateException: AMQ119017: Consumer is closed
    at 
org.apache.activemq.artemis.core.client.impl.ClientConsumerImpl.checkClosed 
(ClientConsumerImpl.java:952)
    at org.apache.activemq.artemis.core.client.impl.ClientConsumerImpl.receive 
(ClientConsumerImpl.java:195)
    at org.apache.activemq.artemis.core.client.impl.ClientConsumerImpl.receive 
(ClientConsumerImpl.java:379)
    at 
org.apache.activemq.artemis.jms.client.ActiveMQMessageConsumer.getMessage 
(ActiveMQMessageConsumer.java:212)
    at org.apache.activemq.artemis.jms.client.ActiveMQMessageConsumer.receive 
(ActiveMQMessageConsumer.java:128)
    at thokuest.HttpTransportTopicExample.main 
(HttpTransportTopicExample.java:79)
    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 org.apache.activemq.artemis.maven.ArtemisClientPlugin.doExecute 
(ArtemisClientPlugin.java:61)
    at org.apache.activemq.artemis.maven.ArtemisAbstractPlugin.execute 
(ArtemisAbstractPlugin.java:74)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo 
(DefaultBuildPluginManager.java:134)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:208)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:154)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:146)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
(LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
(LifecycleModuleBuilder.java:81)
    at 
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
 (SingleThreadedBuilder.java:51)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute 
(LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:309)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:194)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:107)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:955)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:194)
    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 org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced 
(Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch 
(Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode 
(Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main 
(Launcher.java:356)
Caused by: org.apache.activemq.artemis.api.core.ActiveMQObjectClosedException: 
AMQ119017: Consumer is closed
    at 
org.apache.activemq.artemis.core.client.impl.ClientConsumerImpl.checkClosed 
(ClientConsumerImpl.java:952)
    at org.apache.activemq.artemis.core.client.impl.ClientConsumerImpl.receive 
(ClientConsumerImpl.java:195)
    at org.apache.activemq.artemis.core.client.impl.ClientConsumerImpl.receive 
(ClientConsumerImpl.java:379)
    at 
org.apache.activemq.artemis.jms.client.ActiveMQMessageConsumer.getMessage 
(ActiveMQMessageConsumer.java:212)
    at org.apache.activemq.artemis.jms.client.ActiveMQMessageConsumer.receive 
(ActiveMQMessageConsumer.java:128)
    at thokuest.HttpTransportTopicExample.main 
(HttpTransportTopicExample.java:79)
    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 org.apache.activemq.artemis.maven.ArtemisClientPlugin.doExecute 
(ArtemisClientPlugin.java:61)
    at org.apache.activemq.artemis.maven.ArtemisAbstractPlugin.execute 
(ArtemisAbstractPlugin.java:74)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo 
(DefaultBuildPluginManager.java:134)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:208)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:154)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:146)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
(LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
(LifecycleModuleBuilder.java:81)
    at 
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
 (SingleThreadedBuilder.java:51)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute 
(LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:309)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:194)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:107)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:955)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:194)
    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 org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced 
(Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch 
(Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode 
(Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main 
(Launcher.java:356)
{code}

{code:none|title=Server Side}
server-out:2018-10-17 12:56:13,367 WARN  
[org.apache.activemq.artemis.core.client] AMQ212037: Connection failure has 
been detected: 
io.netty.handler.codec.http.HttpObjectAggregator$AggregatedFullHttpRequest 
cannot be cast to io.netty.buffer.ByteBuf [code=GENERIC_EXCEPTION]
server-out:2018-10-17 12:56:13,367 WARN  
[org.apache.activemq.artemis.core.server] AMQ222061: Client connection failed, 
clearing up resources for session 429aaede-d1fb-11e8-b57e-0a0027000011
server-out:2018-10-17 12:56:13,367 WARN  
[org.apache.activemq.artemis.core.server] AMQ222107: Cleared up resources for 
session 429aaede-d1fb-11e8-b57e-0a0027000011
server-out:2018-10-17 12:56:13,367 WARN  
[org.apache.activemq.artemis.core.server] AMQ222061: Client connection failed, 
clearing up resources for session 429c357f-d1fb-11e8-b57e-0a0027000011
server-out:2018-10-17 12:56:13,377 WARN  
[org.apache.activemq.artemis.core.server] AMQ222107: Cleared up resources for 
session 429c357f-d1fb-11e8-b57e-0a0027000011
{code}

According to [~jbertram], this is caused by commit 
{{775b1c78aa690872ef7775f97ccdea408ed3830c}}, ARTEMIS-1927. See Nabble forum 
reference for details.

h4. Workarounds

# Downgrade to Artemis 2.6.3
# Configure {{confirmationWindowSize}} to something greater than 0 in the 
ConnectionFactory URL



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to