[SERVER-51480] Clear circular dependency of shared_ptr in StreamableReplicaSetMonitor by changing the TopologyListenerPtr Created: 09/Oct/20  Updated: 29/Oct/23  Resolved: 22/Oct/20

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 4.9.0

Type: Task Priority: Major - P3
Reporter: Andrew Shuvalov (Inactive) Assignee: Andrew Shuvalov (Inactive)
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by SERVER-51440 Cleanup refcounting and lifetime of R... Closed
Backwards Compatibility: Fully Compatible
Sprint: Sharding 2020-10-19, Sharding 2020-11-02
Participants:

 Description   

This is already fixed and it seems like finally passing all tests that I've run (though it's possible some new tests will fail).

The idea is that the StreamableReplicaSetMonitor is dangling unless explicitly terminated because the topology events publisher holds it as a shared_ptr, but is owned by the class itself.

Cleaning this is the prerequisite for fixing SERVER-50189 and SERVER-50467 to make the RSM to clean itself when there is a concurrent multitenant migration for the same recipient.



 Comments   
Comment by Githook User [ 19/Oct/20 ]

Author:

{'name': 'Andrew Shuvalov', 'email': 'andrew.shuvalov@mongodb.com', 'username': 'shuvalov-mdb'}

Message: SERVER-51480: Clear circular dependency of shared_ptr in StreamableReplicaSetMonitor by changing the TopologyListenerPtr
Branch: master
https://github.com/mongodb/mongo/commit/552c3d62daa278ef165c005cc972353860382a44

Generated at Thu Feb 08 05:25:36 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.