streaming responses can be sent out of order

Bug #1970469 reported by Galen Charlton
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
OpenSRF
Fix Committed
Undecided
Unassigned

Bug Description

If a streaming method starts off sending a couple small responses followed by a large one, the responses can end up received out of order under this scenario:

- The initial small responses get stashed to be sent out as a bundle
- The large response, if big enough to require chunking, gets sent out as a set of partial responses. However, any messages queued up to go out as a bundle remain in the queue.
- When the method completes, or if further responses result in exceeding the maximum bundle size, the queued messages get sent, _after_ the chunked response.

OpenSRF 3.2

Tags: pullrequest
Revision history for this message
Galen Charlton (gmc) wrote :

This affects both C and Perl services.

Revision history for this message
Galen Charlton (gmc) wrote :
tags: added: pullrequest
Revision history for this message
Galen Charlton (gmc) wrote :

Noting a possible workaround for anybody who wants to fix a specific method without reinstalling OpenSRF: setting max_bundle_count to 1 or 0 in the method signature will cause the results to be streamed in the expected order.

Revision history for this message
Mike Rylander (mrylander) wrote :

Thanks, Galen. This works great. I've pushed it to master and rel_3_2 for future releases.

Changed in opensrf:
status: New → Fix Committed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.