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: