[SERVER-40457] test that secondaries roll over their oplogs when they exceed oplogSize Created: 03/Apr/19  Updated: 29/Oct/23  Resolved: 23/Apr/19

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

Type: Task Priority: Major - P3
Reporter: Judah Schvimer Assignee: Lingzhi Deng
Resolution: Fixed Votes: 0
Labels: prepare_testing
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-36494 Prevent oplog truncation of oplog ent... Closed
Backwards Compatibility: Fully Compatible
Sprint: Repl 2019-04-22, Repl 2019-05-06
Participants:

 Description   

In the absence of transactions, we don't have testing that secondaries roll over their oplogs when they exceed oplogSize.

This is specifically to test that work in SERVER-36494 did not prevent storage engines that do not support transactions from truncating their oplogs when transactions are not in use (ex: inMemory).

This can likely be built on top of initial_sync_oplog_rollover.js or the tests added in SERVER-36494.



 Comments   
Comment by Githook User [ 23/Apr/19 ]

Author:

{'email': 'lingzhi.deng@mongodb.com', 'name': 'Lingzhi Deng', 'username': 'ldennis'}

Message: SERVER-40457: test that oplogs roll over when they exceed oplogSize
Branch: master
https://github.com/mongodb/mongo/commit/f24d55df48d1e2082b3c1b0f5e3ada504685a398

Comment by Judah Schvimer [ 10/Apr/19 ]

We would like to add a test that does not use transactions to both test that behavior explicitly, and allow it to be run on other storage engines that do not support transactions (in-memory most notably). This test can likely be incredibly similar to one introduced by SERVER-36494.

Comment by Lingzhi Deng [ 10/Apr/19 ]

It looks like tests added by SERVER-36494 already test secondaries' ability to truncate oplogs after the prepared transactions have been committed/aborted. By writing more without a transaction to make oplog size reach the next milestone, the tests wait for secondaries to truncate oplogs at the end (e.g. in inmemory_preserves_active_txns.js and in rollover_preserves_active_txns.js). I think this implies that secondaries are able to roll over oplogs when they exceed oplogSize in the absence of transactions. Or do we want a separate test that doesn't use transactions at all to test the behavior explicitly? CC judah.schvimer, jesse

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