| Summary: | timeout parameter in sender send() method is ignored if the queue is in PFC active state | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise MRG | Reporter: | Petr Matousek <pematous> | ||||
| Component: | python-qpid | Assignee: | messaging-bugs <messaging-bugs> | ||||
| Status: | NEW --- | QA Contact: | MRG Quality Engineering <mrgqe-bugs> | ||||
| Severity: | medium | Docs Contact: | |||||
| Priority: | medium | ||||||
| Version: | 2.0 | CC: | jross, kgiusti | ||||
| 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: | Type: | --- | |||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Attachments: |
|
||||||
|
Description
Petr Matousek
2011-11-21 16:45:32 UTC
Created attachment 534823 [details]
simple test reproducer
The timeout parameter to send() is ignored by the python client if capacity is set to unlimited (as it is in the reproducer - unlimited is the default). According to the documentation, this is by design.
HOWEVER, If I change the reproducer to set a capacity value, such as:
sender = session.sender("q;{create:sender,delete:receiver, node: {x-declare:{arguments:{'qpid.max_count':10}}}}",
capacity=1)
The python client is still ignoring the timeout parameter. In endpoints.py:
if self.capacity is not UNLIMITED:
print("CAPACITY=%s" % self.capacity)
if self.capacity <= 0:
raise InsufficientCapacity("capacity = %s" % self.capacity)
print("AVAILABLE=%s" % self.available())
if not self._ecwait(self.available, timeout=timeout):
raise InsufficientCapacity("capacity = %s" % self.capacity)
The code that computes self.available() always returns '1', indicating capacity available, and the timeout is not used.
Not sure if this is correct, as the C++ client does not support a "timeout" parameter in its send so I cannot check the behavior.
|