[SERVER-15632] MultiHostQueryOp::PendingQueryContext::doBlockingQuery can leak a cursor object Created: 13/Oct/14  Updated: 11/Mar/15  Resolved: 16/Oct/14

Status: Closed
Project: Core Server
Component/s: Internal Code
Affects Version/s: None
Fix Version/s: 2.6.6, 2.7.8

Type: Bug Priority: Major - P3
Reporter: Andrew Morrow (Inactive) Assignee: Andrew Morrow (Inactive)
Resolution: Done Votes: 0
Labels: 28qa, address-sanitizer, leak-sanitizer, memory-leak
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Tested
Backwards Compatibility: Fully Compatible
Operating System: ALL
Backport Completed:
Participants:

 Description   

In MultiHostQueryOp::PendingQueryContext::doBlockingQuery , the result of calling doBlockingQuery is only noted, causing an ownership transfer, if the parent op still exists.

In the case where the parentOp no longer exists after doBlockingQuery, the DBClientCursor object is not freed.



 Comments   
Comment by Githook User [ 24/Nov/14 ]

Author:

{u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}

Message: SERVER-15632 Clean up cursor in MultiHostQuery if parent op has expired

(cherry picked from commit 7a7febfe1acd236ea11677638c0a8d5ddc6ceba6)
Branch: v2.6
https://github.com/mongodb/mongo/commit/2610caceffbf43ab65f85406f77fbcb8728ead25

Comment by Githook User [ 16/Oct/14 ]

Author:

{u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}

Message: SERVER-15632 Clean up cursor in MultiHostQuery if parent op has expired
Branch: master
https://github.com/mongodb/mongo/commit/7a7febfe1acd236ea11677638c0a8d5ddc6ceba6

Generated at Thu Feb 08 03:38:33 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.