[SERVER-42999] Create a single method for shutting down oplog application threads Created: 23/Aug/19  Updated: 06/Dec/22  Resolved: 08/Nov/19

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

Type: Improvement Priority: Major - P3
Reporter: A. Jesse Jiryu Davis Assignee: Backlog - Replication Team
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-43001 Separate OplogApplier and OpQueueBatc... Closed
Assigned Teams:
Replication
Sprint: Repl 2019-10-21, Repl 2019-11-04, Repl 2019-11-18
Participants:

 Description   

Shutting down the oplog application threads is complex. Some threads check OpQueue::mustShutdown(), others check SyncTail::inShutdown(), and (according to a comment on OpQueue::mustShutdown) some respond to an empty document placed in the buffer. We will define a single way to tell oplog application threads to shut down. The exact design is TBD.



 Comments   
Comment by Haley Connelly [ 18/Nov/19 ]

After the completion of SERVER-43001, it is possible that there may be a new way for OplogApplier::shutdown() to notify the OpQueueBatcher that it should prepare for shutdown. This may be possible since the OpQueueBatcher was moved from the OplogApplierImpl to OplogApplier in SERVER-43001.

Comment by A. Jesse Jiryu Davis [ 08/Nov/19 ]

Closing, too risky and difficult for now since no project depends on it. This had been part of "Address tech debt in Oplog Application Path". We'll reconsider if a feature needs to touch this shutdown code in the future.

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