Bug 1034043

Summary: Qpid clients do not handle non transient session errors appropriately.
Product: [Retired] Beaker Reporter: Raymond Mancy <rmancy>
Component: qpidAssignee: beaker-dev-list
Status: CLOSED WONTFIX QA Contact: tools-bugs <tools-bugs>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 0.14CC: dcallagh, ebaak, qwan, rjoost, tools-bugs
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-11-30 04:03:29 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Raymond Mancy 2013-11-25 07:05:16 UTC
Description of problem:

Beaker's publishing/consuming code can find itself in a busy loop trying to get a valid session from the qpid connection.

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


How reproducible:

Always, whenever there is a permission or other permanent issue.

Steps to Reproduce:
1. Connect to a broker via the bkr.common.messaging_bus code.
2. Use the bkr.common.messaging_bus.fetch() to fetch something with an address string for which we don't have the appropriate permissions.
3.

Actual results:

We end up in a busy loop with something similar to the following

  bkr.common.message_bus DEBUG Attempting to recover from 'unauthorized-access: ACL denied queue create request from <user> (qpid/broker
/Broker.cpp:1112)(403)' in _fetch
Expected results:


Additional info:

The code in question ( _manage_connection() ) was designed to make the connection more robust, retrying transient failures.

From looking at the logs, this appears to be working fine. However, it doesn't discern those kinds of errors from more permanent ones (i.e permissions errors).

Comment 3 Dan Callaghan 2016-11-30 04:03:29 UTC
We are not using qpid anymore (we never really did). I have posted a patch to remove this code:

https://gerrit.beaker-project.org/5481