Bug 518603
Summary: | Closing a connection via management command does not release sessions | ||||||
---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise MRG | Reporter: | Gordon Sim <gsim> | ||||
Component: | qpid-cpp | Assignee: | Gordon Sim <gsim> | ||||
Status: | CLOSED ERRATA | QA Contact: | Frantisek Reznicek <freznice> | ||||
Severity: | high | Docs Contact: | |||||
Priority: | urgent | ||||||
Version: | 1.1.6 | CC: | esammons, freznice, iboverma, lbrindle, mcressma, tross | ||||
Target Milestone: | 1.2 | ||||||
Target Release: | --- | ||||||
Hardware: | All | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||
Doc Text: |
Messaging bug fix
C: If a connection is closed using a management method such as qpid-tool the sessions appear not to be freed correctly.
C: The sessio names remain locked from further use, and the client gets a 'session-busy' exception.
F: Connections now close themselves when the management method (i.e. from qpid-tool) is closing.
R: The session is now released correctly, and can be re-attached with the same session name
If a connection was closed using a management method such as qpid-tool, the session names were remaining locked from further use, and the client received a 'session-busy' exception. Connections now close themselves when the management method is closing and the session can be re-attached with the same name.
|
Story Points: | --- | ||||
Clone Of: | Environment: | ||||||
Last Closed: | 2009-12-03 09:17:06 UTC | Type: | --- | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Bug Depends On: | |||||||
Bug Blocks: | 527551 | ||||||
Attachments: |
|
Fixed on trunk by r810094 (http://svn.apache.org/viewvc?rev=810094&view=rev) Committed to release repository: http://git.et.redhat.com/git/qpid.git/?p=qpid.git;a=commitdiff;h=89bf52da02b9f822497c8c1a5cf21cad53422ad3 There is difficulty with qpid-tool's 'call <ID> close', because it says 'Call Result: close 3 (NotImplemented) {}' and gives up. Is there any other way how to force closing session? Thanks upfront for the response. Transcript: qpid: schema Classes in Schema: Class Properties Statistics Methods ==================================================================== com.redhat.rhm.store:journal 14 30 1 com.redhat.rhm.store:store 12 10 0 org.apache.qpid.broker:agent 7 1 0 org.apache.qpid.broker:binding 6 2 0 org.apache.qpid.broker:bridge 13 1 1 org.apache.qpid.broker:broker 10 2 3 org.apache.qpid.broker:connection 10 6 1 org.apache.qpid.broker:exchange 6 13 0 org.apache.qpid.broker:link 6 3 2 org.apache.qpid.broker:queue 7 28 1 org.apache.qpid.broker:session 9 7 4 org.apache.qpid.broker:system 7 1 0 org.apache.qpid.broker:vhost 4 1 0 qpid: list org.apache.qpid.broker:session Objects of type org.apache.qpid.broker:session ID Created Destroyed Index ====================================================================== 123 13:44:21 - 103.my-session 124 15:14:56 - 103.mrg-qe-02.lab.eng.brq.redhat.com.21092 qpid: call 123 close qpid: Call Result: close 3 (NotImplemented) {} Release note added. If any revisions are required, please set the "requires_release_notes" flag to "?" and edit the "Release Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. New Contents: Closing a connection via management command (e.g. qpid-tool) is now working correctly, it releases session and allows to re-attach with the same session name (518603) The issue has been fixed, validated on RHEL 4.8 / 5.4 i386 / x86_64 on packages: [root@mrg-qe-01 bz518603]# rpm -qa | egrep '(qpid|rhm)' | sort -u python-qpid-0.5.752581-4.el5 qpid*-0.5.752581-30.el5 qpid-dotnet-0.4.738274-2.el5 qpid-java-client-0.5.751061-9.el5 qpid-java-common-0.5.751061-9.el5 rhm-0.5.3206-17.el5 rhm-docs-0.5.756148-1.el5 -> VERIFIED Release note updated. If any revisions are required, please set the "requires_release_notes" flag to "?" and edit the "Release Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. Diffed Contents: @@ -1,2 +1,8 @@ -Closing a connection via management command (e.g. qpid-tool) is now working correctly, it releases session and allows to re-attach with the +Messaging bug fix -same session name (518603)+ +C: If a connection is closed using a management method such as qpid-tool the sessions appear not to be freed correctly. +C: The sessio names remain locked from further use, and the client gets a 'session-busy' exception. +F: +R: The session is now released correctly, and can be re-attached with the same session name + +MORE INFO REQUIRED FOR RELNOTE Release note updated. If any revisions are required, please set the "requires_release_notes" flag to "?" and edit the "Release Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. Diffed Contents: @@ -2,7 +2,7 @@ C: If a connection is closed using a management method such as qpid-tool the sessions appear not to be freed correctly. C: The sessio names remain locked from further use, and the client gets a 'session-busy' exception. -F: +F: Connections now close themselves when the management method (i.e. from qpid-tool) is closing. R: The session is now released correctly, and can be re-attached with the same session name -MORE INFO REQUIRED FOR RELNOTE+If a connection was closed using a management method such as qpid-tool, the session names were remaining locked from further use, and the client received a 'session-busy' exception. Connections now close themselves when the management method is closing and the session can be re-attached with the same name. An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHEA-2009-1633.html |
Created attachment 358206 [details] example of application using specfic session name Description of problem: If a connection is closed using the management method (e.g. via qpid-tool), the sessions appear not to be freed up and the names remain locked from further use. Version-Release number of selected component (if applicable): qpidd-0.5.752581-26.el5 How reproducible: Steps to Reproduce: 1. start broker 2. start session using a specific session name (e.g. use attached test case, in which case also create a queue called test-queue) 3. start qpid-tool, list sessions, show session with specific name used in 2. and then close the connection ('call <ID> close' where ID is the value listed as the connectionRef for the session) 4. the application in 2. should now have been notified of the closed connection; try to restart it (using the same session name) Actual results: Client gets a 'session-busy' exception. Broker contains log messages like: 2009-aug-21 03:51:31 error Channel exception: session-busy: Session already attached: anonymous.my-session (qpid/broker/SessionManager.cpp:55) Expected results: Able to re-attach with the same session name Additional info: