[SERVER-35657] Do not delay journal flushes when operations are waiting for oplog visibility Created: 18/Jun/18  Updated: 29/Oct/23  Resolved: 24/Aug/18

Status: Closed
Project: Core Server
Component/s: Storage
Affects Version/s: 3.6.6, 4.0.0-rc5
Fix Version/s: 3.6.9, 4.0.3, 4.1.3

Type: Bug Priority: Major - P3
Reporter: Cristopher Stauffer Assignee: Louis Williams
Resolution: Fixed Votes: 0
Labels: bkp
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
Related
Backwards Compatibility: Fully Compatible
Operating System: ALL
Backport Requested:
v4.0, v3.6
Steps To Reproduce:

1. Configure 1-node replica set
2. Select any benchmark with a mix of updates and reads (I chose YCSB)
3. Compare performance between read concern majority, non-causal against read concern local, causal.

Sprint: Storage NYC 2018-07-02, Storage NYC 2018-07-16, Storage NYC 2018-07-30, Storage NYC 2018-08-13, Storage NYC 2018-08-27
Participants:
Linked BF Score: 0

 Description   

In a recent examination of transactions performance it was observed that specific combinations of read concern, topology, and causal settings caused significant performance slowdowns for read operations. Most notably the single-node replica sets using local read concern and causal consistency. In a build failure ticket we tracked this to the following work: SERVER-31679



 Comments   
Comment by Githook User [ 18/Sep/18 ]

Author:

{'name': 'Louis Williams', 'email': 'louis.williams@mongodb.com', 'username': 'louiswilliams'}

Message: SERVER-35657 Do not delay journal flushes when operations are waiting for oplog visibility

(cherry picked from commit fa0ed40e73e65a1d8715a2dcd0be22f254787bb0)

Conflicts:
src/mongo/db/storage/wiredtiger/wiredtiger_oplog_manager.cpp
Branch: v3.6
https://github.com/mongodb/mongo/commit/1dc8031b266660d3b2a0fc04c77804219df96d36

Comment by Githook User [ 17/Sep/18 ]

Author:

{'name': 'Louis Williams', 'email': 'louis.williams@mongodb.com', 'username': 'louiswilliams'}

Message: SERVER-35657 Do not delay journal flushes when operations are waiting for oplog visibility

(cherry picked from commit fa0ed40e73e65a1d8715a2dcd0be22f254787bb0)
Branch: v4.0
https://github.com/mongodb/mongo/commit/6d34459efdf6861ab6967791193ac1108a4fe6b4

Comment by Githook User [ 24/Aug/18 ]

Author:

{'name': 'Louis Williams', 'email': 'louis.williams@mongodb.com', 'username': 'louiswilliams'}

Message: SERVER-35657 Do not delay journal flushes when operations are waiting for oplog visibility
Branch: master
https://github.com/mongodb/mongo/commit/fa0ed40e73e65a1d8715a2dcd0be22f254787bb0

Comment by Louis Williams [ 22/Aug/18 ]

A fix for this regression should be to include waiters of  _opsBecameVisibleCV  when deciding whether or not delay journal flushes.

Generated at Thu Feb 08 04:40:32 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.