[
https://issues.apache.org/jira/browse/QPID-3264?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13070582#comment-13070582
]
Jason Dillaman commented on QPID-3264:
--------------------------------------
We have run into this issue as well in our testing environment. Setting the
QPID heartbeat to a short interval helps, but it doesn't solve it 100% of the
time. As an alternative suggestion, what if the broker sends a sync to the
original session whenever a new session attempts to attach to the same name?
If the original session doesn't respond within a timeout, the original session
is declared lost and the broker can respond to the new session attach request
successfully. If the original session does respond within the timeout, the
broker can respond w/ the session attach error.
> Channel exception: session-busy: Session already attached
> ---------------------------------------------------------
>
> Key: QPID-3264
> URL: https://issues.apache.org/jira/browse/QPID-3264
> Project: Qpid
> Issue Type: Bug
> Components: C++ Broker, C++ Client
> Affects Versions: 0.8
> Environment: Broker on RedHat 5.6 64bit; Client on Windows 7.
> Reporter: Barys Ilyushonak
>
> While client reconnect we got:
> 2011-05-11 16:15:07 error Channel exception: session-busy: Session already
> attached: .a7235961-c1f9-4a76-923c-ff06b09ad0c5
> (qpid/broker/SessionManager.cpp:55)
> To reproduce:
> Start linux broker on default port 5672. Create durable queue and exchange.
> Start the broker. Start client. Client sent the first message. We sow this
> message on the broker. After that enable IPTABLES to reject the port. Client
> still sent messages, but there was no new messages on the broker. After that
> disable IPTABLES to reject the port.
> It is important do not restart the client.
> After that we have got the error in the broker log.
> On the client:
> std::auto_ptr<qpid::messaging::Connection> m_connection
> m_connection.reset(new Connection(m_url));
> m_connection->setOption("reconnect", true);
> We limit network access on the broker machine. To close the port we use:
> iptables -A INPUT -p tcp -s 10.30.24.181 --dport 5672 -j REJECT
> where 10.30.24.181 - windows client IP
> to enable access we use:
> iptables -D INPUT -p tcp -s 10.30.24.181 --dport 5672 -j REJECT
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]