My understanding of the code may be wrong here. The SyncSourceFeedback thread refreshes its OperationContext for each iteration of the outer loop. However, there is an inner while loop that, for primaries, only breaks out when its "position" has changed or if it is no longer a primary. This can cause the OperationContext to not release underlying cursors for indefinitely long periods of time and prevent WT from dropping underlying tables.
- related to
SERVER-31101 WT table not dropped after collection is dropped due to long-running OperationContext