qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gordon Sim (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (QPID-4595) Invoking Receiver::fetch() in a loop for slow producer causes only first <prefetch> messages received
Date Tue, 12 Mar 2013 17:21:16 GMT

     [ https://issues.apache.org/jira/browse/QPID-4595?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Gordon Sim resolved QPID-4595.
------------------------------

       Resolution: Fixed
    Fix Version/s: 0.21

Fixed by http://svn.apache.org/viewvc?view=revision&revision=1455630. This is not exactly
the same as the suggested patch, but simply ensures any completions are sent to the broker
on a flush. Thanks for raising the issue and identifying the fix Pavel!
                
> Invoking Receiver::fetch() in a loop for slow producer causes only first <prefetch>
messages received
> -----------------------------------------------------------------------------------------------------
>
>                 Key: QPID-4595
>                 URL: https://issues.apache.org/jira/browse/QPID-4595
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Client
>    Affects Versions: 0.18
>            Reporter: Pavel Moravec
>            Assignee: Gordon Sim
>            Priority: Minor
>              Labels: patch
>             Fix For: 0.21
>
>         Attachments: bz913448.patch, bz913448_reproducer.tar.gz
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> Description of problem:
> Having a scenario with a slow producer and a consumer periodically running Receiver::fetch()
method (for timeout lesser than forever), the consumer gets just first N messages where N
is the size of prefetch / capacity, and then nothing - despite there are new messages on the
broker.
> Version-Release number of selected component (if applicable):
> qpid-cpp-client*-0.18-14
> How reproducible:
> 100%
> Steps to Reproduce:
> 1. Unpack attached tarball
> 2. make
> 3. in one terminal, create queue and start producer (that waits 15 seconds to kick-off
consumer first):
> ./setup
> 4. in another terminal, start consumer:
> ./read
>   
> Actual results:
> When producer starts to produce messages, the consumer gets just first 10 messages (or
whatever is set in receiver.setCapacity()). Later on, despite there are new messages in the
queue, receiver does not get any.
> Expected results:
> Receiver gets further messages when some occurr on the broker.
> Additional info:
> Patch proposed

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


Mime
View raw message