Bug 644313 - not-handled exception during 'service broker restart/stop'
Summary: not-handled exception during 'service broker restart/stop'
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: cumin
Version: 1.3
Hardware: All
OS: Linux
low
low
Target Milestone: 2.0
: ---
Assignee: Trevor McKay
QA Contact: Jan Sarenik
URL:
Whiteboard:
Depends On:
Blocks: 693778
TreeView+ depends on / blocked
 
Reported: 2010-10-19 12:24 UTC by Lubos Trilety
Modified: 2011-06-23 15:41 UTC (History)
3 users (show)

Fixed In Version: cumin-0.1.4560
Doc Type: Bug Fix
Doc Text:
Cause Cumin does not handle cases in which the qpidd broker exits after it is connected. Consequence Cumin will raise unhandled exceptions and cease to operate. Fix Handle the exception and display an informative message in the GUI if the broker is unavailable. Result Cumin will not display exception traces or crash if the broker is stopped. If the broker is started again, cumin will eventually connect to the new broker instance and continue to operate.
Clone Of:
Environment:
Last Closed: 2011-06-23 15:41:53 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHEA-2011:0889 0 normal SHIPPED_LIVE Red Hat Enterprise MRG Grid 2.0 Release 2011-06-23 15:35:53 UTC

Description Lubos Trilety 2010-10-19 12:24:21 UTC
Description of problem:
Sometimes not handled exception is raised when service qpidd is stopping whilst service cumin is running.

Version-Release number of selected component (if applicable):
cumin-0.1.4369-1

How reproducible:
10%

Steps to Reproduce:
1. start service qpidd
# service qpidd start
Starting Qpid AMQP daemon: [  OK  ]

2. run 'service cumin start; sleep 1; service qpidd restart'
# service cumin start; sleep 1; service qpidd restart
Starting cumin: [  OK  ]
Stopping Qpid AMQP daemon: EXCEPTION in Broker._v1Cb: (None, 'connection aborted')
Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/qmf/console.py", line 2518, in _v1Dispatch
    self._v1DispatchProtected(msg)
  File "/usr/lib/python2.4/site-packages/qmf/console.py", line 2568, in _v1DispatchProtected
    elif opcode == 'q': self.session._handleClassInd        (self, codec, seq)
  File "/usr/lib/python2.4/site-packages/qmf/console.py", line 1113, in _handleClassInd
    broker._send(smsg)
  File "/usr/lib/python2.4/site-packages/qmf/console.py", line 2428, in _send
    self.amqpSession.message_transfer(destination=dest, message=msg)
  File "/usr/lib/python2.4/site-packages/qpid/generator.py", line 25, in <lambda>
    method = lambda self, *args, **kwargs: self.invoke(op, args, kwargs)
  File "/usr/lib/python2.4/site-packages/qpid/session.py", line 138, in invoke
    return self.do_invoke(op, args, kwargs)
  File "/usr/lib/python2.4/site-packages/qpid/session.py", line 183, in do_invoke
    self.sync(self.timeout)
  File "/usr/lib/python2.4/site-packages/qpid/session.py", line 103, in sync
    raise SessionException(self.error())
SessionException: (None, 'connection aborted')
EXCEPTION in Broker._v1Cb: (None, 'connection aborted')
Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/qmf/console.py", line 2518, in _v1Dispatch
    self._v1DispatchProtected(msg)
  File "/usr/lib/python2.4/site-packages/qmf/console.py", line 2568, in _v1DispatchProtected
    elif opcode == 'q': self.session._handleClassInd        (self, codec, seq)
  File "/usr/lib/python2.4/site-packages/qmf/console.py", line 1113, in _handleClassInd
    broker._send(smsg)
  File "/usr/lib/python2.4/site-packages/qmf/console.py", line 2428, in _send
    self.amqpSession.message_transfer(destination=dest, message=msg)
  File "/usr/lib/python2.4/site-packages/qpid/generator.py", line 25, in <lambda>
    method = lambda self, *args, **kwargs: self.invoke(op, args, kwargs)
  File "/usr/lib/python2.4/site-packages/qpid/session.py", line 138, in invoke
    return self.do_invoke(op, args, kwargs)
  File "/usr/lib/python2.4/site-packages/qpid/session.py", line 183, in do_invoke
    self.sync(self.timeout)
  File "/usr/lib/python2.4/site-packages/qpid/session.py", line 103, in sync
    raise SessionException(self.error())
SessionException: (None, 'connection aborted')
[  OK  ]
Starting Qpid AMQP daemon: [  OK  ]


Actual results:
Exception occurs

Expected results:
No exception

Additional info:

Comment 1 Matthew Farrellee 2011-03-03 19:05:53 UTC
Please retest on cumin-0.1.4560 or later

Comment 2 Matthew Farrellee 2011-03-03 19:06:33 UTC
Note, you will want to make sure that no cumin-data/web processes are killed. You will also want to look in /var/log/cumin/* for exceptions from here on out.

Comment 3 Jan Sarenik 2011-03-04 12:52:10 UTC
Verified on cumin-0.1.4573-2.el5

Processes are running:
# ps -e | grep cumin
 4027 ?        00:00:00 cumin
 4029 ?        00:00:02 cumin-web
 4030 ?        00:00:03 cumin-web
 4031 ?        00:00:02 cumin-web
 4032 ?        00:00:02 cumin-web
 4033 ?        00:00:14 cumin-data

# grep -i trace /var/log/cumin/* || echo nothing
nothing

Comment 4 Trevor McKay 2011-03-15 18:38:13 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Cause
    Cumin does not handle cases in which the qpidd broker exits after it is connected.

Consequence
    Cumin will raise unhandled exceptions and cease to operate.

Fix
    Handle the exception and display an informative message in the GUI if the broker is unavailable.

Result
    Cumin will not display exception traces or crash if the broker is stopped.  If the broker is started again, cumin will eventually connect to the new broker instance and continue to operate.

Comment 5 errata-xmlrpc 2011-06-23 15:41:53 UTC
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-2011-0889.html


Note You need to log in before you can comment on or make changes to this bug.