[SERVER-56438] Dispose of ReshardingDonorOplogIterator in ReshardingOplogApplier, even on cancellation Created: 28/Apr/21 Updated: 29/Oct/23 Resolved: 12/May/21 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Sharding |
| Affects Version/s: | None |
| Fix Version/s: | 5.0.0-rc0 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Max Hirschhorn | Assignee: | Max Hirschhorn |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Backwards Compatibility: | Fully Compatible |
| Sprint: | Sharding 2021-05-17 |
| Participants: | |
| Story Points: | 2 |
| Description |
|
This isn't currently a bug because locally-executing Pipelines and DocumentSources do not dereference their OperationContext during dispose() and destruction. However, we have established a pattern in ReshardingCollectionCloner and ReshardingTxnCloner to run a task on the cleanup executor. We should do the same with ReshardingDonorOplogIterator in ReshardingOplogApplier. |
| Comments |
| Comment by Githook User [ 12/May/21 ] |
|
Author: {'name': 'Max Hirschhorn', 'email': 'max.hirschhorn@mongodb.com', 'username': 'visemet'}Message: Guarantees that Pipeline underlying ReshardingDonorOplogIterator is |