You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Hari (JIRA)" <ji...@apache.org> on 2008/06/05 08:07:00 UTC

[jira] Commented: (AMQ-1746) ActiveMQ server does not release the connection on a reconnect

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

Hari commented on AMQ-1746:
---------------------------

I have been working on this for a while now.  I tried a bunch of things. 

1) i made changes to RegionBroker.java in the addconnection so when a new connection request comes in and there is a oldcontext associated with the clientid then to explicitly close the old connection by getting it from the oldcontext and closing it. this solves the problem of having multiple connections on the server side to a client who has one connection from his side.

In a scenario where a client is disconnected for some reason(unpluggint he cable or the system crashing) and if there is no reconnect at all, there is noway the server knows to close the connection. server keeps sending to that connection. the outqueue on the socket increases to close to 98000 and then the server does not serve the other connected clients as well.

> ActiveMQ server does not release the connection on a reconnect
> --------------------------------------------------------------
>
>                 Key: AMQ-1746
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1746
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Connector
>    Affects Versions: 5.2.0
>         Environment: Redhat Linux , jdk 1.5_0_6
>            Reporter: Hari
>
> I have tried this with activemq 5.0,5.1 and latest snapshot of activemq as of 20080521. I am using apacha nms.net client. On a connect it receives messages and on a regular shutdown the connection is disconnected and everything shutsdown w.r.t that connection in the server side. Now if there is network issue or when we disable and enable the network from the client side , a reconnect request is sent with a new clientid and the connection is established.But the old connection is still active which is evident from a netstat on the server machine. The client side netstat shows only the latest connection which is on port 1870.
> tcp        0      0 ::ffff:10.1.30.60:51616     ::ffff:10.1.30.176:1828     ESTABLISHED 
> tcp        0      0 ::ffff:10.1.30.60:51616     ::ffff:10.1.30.176:1870     ESTABLISHED 
> The server is 10.1.30.60:51616. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.