Bug 695761

Summary: QPID (python) driver goes crazy when VPN dropped between client and broker.
Product: [Retired] Pulp Reporter: Jeff Ortel <jortel>
Component: z_otherAssignee: Sayli Karmarkar <skarmark>
Status: CLOSED CANTFIX QA Contact: Preethi Thomas <pthomas>
Severity: low Docs Contact:
Priority: low    
Version: unspecifiedCC: cperry, skarmark
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-07-12 20:57:38 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: 673216    

Description Jeff Ortel 2011-04-12 15:44:42 UTC
Description of problem:

When dropping the VPN between the qpid broker and a client, the python-qpid driver stack traces in a tight loop.

Doing 'netstat -a' on the broker shows TCP connection still up.
Doing 'netstat -a' on the client shows TCP connection gone.
Doing 'qpid-status -u' on the broker shows connection from client.

machine = F14 (vm)

installed:
qpid-cpp-server-store-0.8-4.fc14.x86_64
qpid-cpp-client-0.8-4.fc14.x86_64
qpid-cpp-server-ssl-0.8-4.fc14.x86_64
qpid-cpp-client-ssl-0.8-4.fc14.x86_64
python-qpid-0.8-3.fc14.noarch
qpid-cpp-server-0.8-4.fc14.x86_64

TRACE:
-------------------------
2011-04-08 15:47:06,834 [ERROR][cds-localhost.localdomain] __fetch() @ consumer.py:90 -
cds-localhost.localdomain
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/gofer/messaging/consumer.py", line 86, in __fetch
return self.receiver.fetch(timeout=self.WAIT)
File "<string>", line 6, in fetch
File "/usr/lib/python2.7/site-packages/qpid/messaging/endpoints.py", line 997, in fetch
self._ecwait(lambda: self.linked)
File "/usr/lib/python2.7/site-packages/qpid/messaging/endpoints.py", line 50, in _ecwait
result = self._ewait(lambda: self.closed or predicate(), timeout)
File "/usr/lib/python2.7/site-packages/qpid/messaging/endpoints.py", line 960, in _ewait
result = self.session._ewait(lambda: self.error or predicate(), timeout)
File "/usr/lib/python2.7/site-packages/qpid/messaging/endpoints.py", line 553, in _ewait
result = self.connection._ewait(lambda: self.error or predicate(), timeout)
File "/usr/lib/python2.7/site-packages/qpid/messaging/endpoints.py", line 196, in _ewait
self.check_error()
File "/usr/lib/python2.7/site-packages/qpid/messaging/endpoints.py", line 189, in check_error
raise self.error
InternalError: Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/qpid/messaging/driver.py", line 648, in write
op.dispatch(self)
File "/usr/lib/python2.7/site-packages/qpid/ops.py", line 84, in dispatch
getattr(target, handler)(self, *args)
File "/usr/lib/python2.7/site-packages/qpid/messaging/driver.py", line 860, in
do_session_detached
sst = self._sessions.pop(dtc.channel)
KeyError: 0

Comment 1 Jeff Ortel 2012-07-12 20:57:38 UTC
This may have been fixed by python-qpid updates.