The resource clean up code for dead clients doesn't seem to work reliably.
Probably not a show-stopper for a beta release, but definitely needs to be
cleaned up for production. Basically, when Artemis detected a dead client
(it stopped responding because I hit a breakpoint in my debugger), it tried
to clean it up, but failed. The result is that I can no longer connect a
new client from that client machine, because the broker thinks I already
have a connection. This is after I killed my client app and restarted it.
I'll log a bug for this one, but here's the server log:

WARN  [org.apache.activemq.artemis.core.server] AMQ222067: Connection
failure has been detected: AMQ119014: Did not receive data from
/xxx.xxx.xxx.xxx:53516. It is likely the client has exited or crashed
without closing its connection, or the network between the server and
client has failed. You also might have configured connection-ttl and
client-failure-check-period incorrectly. Please check user manual for more
information. The connection will now be closed. [code=CONNECTION_TIMEDOUT]
WARN  [org.apache.activemq.artemis.core.server] AMQ222061: Client
connection failed, clearing up resources for session
ID:testmachine-63273-635671999039695375-1:0:-1
WARN  [org.apache.activemq.artemis.core.server] AMQ222107: Cleared up
resources for session ID:testmachine-63273-635671999039695375-1:0:-1
WARN  [org.apache.activemq.artemis.core.server] AMQ222061: Client
connection failed, clearing up resources for session
ID:testmachine-63273-635671999039695375-1:0:1
WARN  [org.apache.activemq.artemis.core.server] AMQ222107: Cleared up
resources for session ID:testmachine-63273-635671999039695375-1:0:1
*INFO  [org.apache.activemq.artemis.core.server] AMQ221021: failed to
remove connection*

Attempting to run a fresh client gets the following return exception on the
client:

Apache.NMS.Test.AsyncConsumeTest.TestAsynchronousConsume(Persistent):
Apache.NMS.InvalidClientIDException : Broker: mybroker - Client:
ID:AsyncConsumeTest:1:2 already connected from /xxx.xxx.xxx.xxx:53516




On Thu, May 14, 2015 at 11:37 AM, Jim Gomes <e.se...@gmail.com> wrote:

> Another reason for not releasing this build: the destinations are not
> automatically created. Server throws *ActiveMQNonExistentQueueException *when
> trying to create a destination. Is this a configurable feature? If so, it
> should be set to the standard ActiveMQ behavior by default (i.e.,
> auto-create destinations). Here's the exception that gets thrown:
>
> ERROR [org.apache.activemq.artemis.core.server] error decoding:
> ActiveMQNonExistentQueueException[errorType=QUEUE_DOES_NOT_EXIST
> message=AMQ119017: Queue
> jms.queue.TEST.AsyncConsumeTest.2df14c0d-4e0c-4d74-91ab-8abbd3ba02ea does
> not exist]
>     at
> org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.destroyQueue(ActiveMQServerImpl.java:1401)
> [artemis-server-1.0.0.jar:1.0.0]
>     at
> org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.destroyQueue(ActiveMQServerImpl.java:1390)
> [artemis-server-1.0.0.jar:1.0.0]
>     at
> org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.destroyQueue(ActiveMQServerImpl.java:1380)
> [artemis-server-1.0.0.jar:1.0.0]
>     at
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireProtocolManager.deleteQueue(OpenWireProtocolManager.java:689)
> [artemis-openwire-protocol-1.0.0.jar:1.0.0]
>     at
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.processRemoveDestination(OpenWireConnection.java:1641)
> [artemis-openwire-protocol-1.0.0.jar:1.0.0]
>     at
> org.apache.activemq.command.DestinationInfo.visit(DestinationInfo.java:124)
> [activemq-client-5.10.0.jar:5.10.0]
>     at
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.bufferReceived(OpenWireConnection.java:271)
> [artemis-openwire-protocol-1.0.0.jar:1.0.0]
>     at
> org.apache.activemq.artemis.core.remoting.server.impl.RemotingServiceImpl$DelegatingBufferHandler.bufferReceived(RemotingServiceImpl.java:694)
> [artemis-server-1.0.0.jar:1.0.0]
>     at
> org.apache.activemq.artemis.core.remoting.impl.netty.ActiveMQChannelHandler.channelRead(ActiveMQChannelHandler.java:73)
> [artemis-core-client-1.0.0.jar:1.0.0]
>     at
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:332)
> [netty-all-4.0.20.Final.jar:4.0.20.Final]
>     at
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:318)
> [netty-all-4.0.20.Final.jar:4.0.20.Final]
>     at
> io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:787)
> [netty-all-4.0.20.Final.jar:4.0.20.Final]
>     at
> io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:125)
> [netty-all-4.0.20.Final.jar:4.0.20.Final]
>     at
> io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:507)
> [netty-all-4.0.20.Final.jar:4.0.20.Final]
>     at
> io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:464)
> [netty-all-4.0.20.Final.jar:4.0.20.Final]
>     at
> io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:378)
> [netty-all-4.0.20.Final.jar:4.0.20.Final]
>     at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:350)
> [netty-all-4.0.20.Final.jar:4.0.20.Final]
>     at
> io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
> [netty-all-4.0.20.Final.jar:4.0.20.Final]
>     at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_20]
>
>
> On Thu, May 14, 2015 at 8:05 AM, Jim Gomes <e.se...@gmail.com> wrote:
>
>> -1
>>
>> Two reasons:
>>
>> 1. The default configuration of localhost for the broker does not allow
>> connections from off-machine. For some reason, socket connections are
>> refused from non-local clients. I had to change the broker.xml config to
>> use the machine's actual IP address, and then non-local clients could
>> connect.
>> 2. The basic NMS OpenWire client fails to connect at all. It is getting
>> unknown response IDs from the broker. I don't think the OpenWire protocol
>> is being negotiated correctly. I am running with the latest NMS trunk
>> version (1.8.0).
>>
>>
>> On Wed, May 13, 2015 at 10:12 AM, Martyn Taylor <mtay...@redhat.com>
>> wrote:
>>
>>> Hello all.
>>>
>>> I've cut a second release candidate of Apache Artemis 1.0.0 addressing
>>> the initial RC feedback from community members.
>>>
>>> This is a first release of the Artemis project with protocol support for
>>> AMQP, STOMP, CORE, HORNETQ and OPENWIRE.
>>>
>>> The release notes can be found here:
>>>
>>> https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&version=12328953
>>>
>>> The binary distributions can be found here:
>>>
>>> https://repository.apache.org/content/repositories/orgapacheactivemq-1051/org/apache/activemq/apache-artemis/1.0.0/
>>>
>>> The source archives can be found here:
>>>
>>> https://repository.apache.org/content/repositories/orgapacheactivemq-1051/org/apache/activemq/apache-artemis/1.0.0/
>>>
>>> The Maven repository is here:
>>>
>>> https://repository.apache.org/content/repositories/orgapacheactivemq-1051/
>>>
>>> The source tag:
>>>
>>> https://git-wip-us.apache.org/repos/asf?p=activemq-artemis.git;a=tag;h=refs/tags/1.0.0
>>>
>>> The project website for that version has been staged to:
>>> http://people.apache.org/~martyntaylor/
>>>
>>> The vote will remain open for 72 hours.
>>>
>>> [ ] +1 approve the release as Apache Artemis 1.0.0
>>> [ ] +0 no opinion
>>> [ ] -1 disapprove (and reason why)
>>>
>>> Here's my (non-binding) +1
>>>
>>> Regards
>>> Martyn
>>>
>>
>>
>

Reply via email to