[SERVER-55328] Call Pipeline::dispose() on cleanup executor in resharding data replication components Created: 19/Mar/21 Updated: 29/Oct/23 Resolved: 30/Mar/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: | Janna Golden |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | PM-234-M3, PM-234-T-error-flow | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Backwards Compatibility: | Fully Compatible |
| Sprint: | Sharding 2021-04-05 |
| Participants: | |
| Story Points: | 2 |
| Description |
|
Task executors are allowed to refuse work and the .onCompletion() continuation won't run if the task executor has been shut down. This is especially problematic for the ReshardingCollectionCloner after the changes from
ReshardingCollectionCloner::run() and ReshardingTxnCloner::run() should be changed to additionally accept the cleanup task executor and should return a SemiFuture<void> so the caller must explicitly do .thenRunOn(**executor) to chain any further continuations.
|
| Comments |
| Comment by Githook User [ 30/Mar/21 ] |
|
Author: {'name': 'jannaerin', 'email': 'golden.janna@gmail.com', 'username': 'jannaerin'}Message: |