Subrequest returns spurious post-complete values

Bug #1180849 reported by Mike Rylander
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenSRF
Fix Released
Medium
Unassigned
2.1
Fix Committed
Medium
Unassigned
2.2
Fix Released
Medium
Unassigned

Bug Description

From the commit at the tip of http://git.evergreen-ils.org/?p=working/OpenSRF.git;a=shortlog;h=refs/heads/collab/miker/safer-subrequest-respond-complete

Subrequests (AKA method_lookup()-based API calls) sometimes append
final-lvalue responses to the response list even after respond_complete()
has been called from within the implementation method. This commit
discards all post-respond_complete values, protecting against extra,
spurious values being returned to the ultimate client.

This is important because, while remote requests actively discard post-complete RESPONSE messages, subrequests against local API methods do not and end up passing them back to remote callers. This causes a change in response behavior between atomic and non-atomic versions of a method, as the atomic wrapper uses a subrequest to gather results.

Tags: pullrequest
Revision history for this message
Bill Erickson (berick) wrote :

Confirmed that the changes in the branch resolve the issue where it was first spotted. I've pushed a signed-off commit to

working/user/berick/safer-subrequest-respond-complete-signoff

I'll run this patch on my test server a little longer...

Galen Charlton (gmc)
Changed in opensrf:
milestone: none → 2.3.0-beta
Revision history for this message
Galen Charlton (gmc) wrote :

Pushed (along with a regression test) to master, rel_2_3, rel_2_2, and rel_2_1. Thanks, Mike!

Changed in opensrf:
status: New → Fix Committed
Galen Charlton (gmc)
Changed in opensrf:
status: Fix Committed → Fix Released
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.