[SERVER-60048] CheckReplDBHash should not fail for cases where we expect retryable findAndModify images to be inconsistent after a restart Created: 17/Sep/21  Updated: 29/Oct/23  Resolved: 04/Nov/21

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 5.2.0, 5.0.6

Type: Bug Priority: Major - P3
Reporter: Jason Chan Assignee: Jason Chan
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
Problem/Incident
causes SERVER-61923 Shell's consistency checker can mask ... Closed
Related
related to SERVER-63214 Ignore hash inconsistency between who... Closed
Backwards Compatibility: Fully Compatible
Operating System: ALL
Backport Requested:
v5.1, v5.0
Sprint: Repl 2021-09-20, Repl 2021-10-04, Repl 2021-10-18, Repl 2021-11-01, Replication 2021-11-15
Participants:
Linked BF Score: 19

 Description   

A case where we expect the images in config.images_collection to be inconsistent:

  • As a secondary, we begin applying some batch (say, TS(74) -> TS(77)) with current top of oplog/last applied at TS(73)
  • We write minValid: TS(77)
  • A checkpoint happens. The stable timestamp is 73
  • We crash. We startup and do an untimestamped write to the minValid document to update the appliedThrough field.
  • The batch gets applied. isDataConsistent will evaluate to false on startup, which will cause us to mark the image as invalid.

We should have CheckReplDBHash avoid failing in the case where both:

  • The inconsistency is in config.images_collection and it is due to images being invalidated
  • we expect server crashes/restarts in the test


 Comments   
Comment by Githook User [ 14/Jan/22 ]

Author:

{'name': 'Jason Chan', 'email': 'jason.chan@mongodb.com', 'username': 'jasonjhchan'}

Message: SERVER-60048 CheckReplDBHash should not fail for cases where we expect retryable findAndModify images to be inconsistent after a restart

(cherry picked from commit bd9939bf4f98cced5b8dcd1f7249431ed5ee688c)

SERVER-61923 Fix bug where consistency checker can mask error due to ignoring inconsistency in image collections

(cherry picked from commit e2d48665f771a82bfe7de2a112276cd3692a6007)

SERVER-61610 Fix ignore dbHash mismatches for invalidated retryable FaM images

(cherry picked from commit 1b5fee201b23fb7c88025cebbd0f113fa2756747)
Branch: v5.0
https://github.com/mongodb/mongo/commit/7c1f9a4aaad7a8e58fd8cbf9bffd7465ed84feef

Comment by Jason Chan [ 06/Dec/21 ]

Requesting backport to 5.0/5.1 since this can happen in older branches as well. We expect this failure to be quite rare. Branches older than 5.0 have the new retryable findAndModify behavior disabled by default and won't run tests with the new behavior as frequently, so we may be able to get away with ignoring those versions for now.

Comment by Githook User [ 04/Nov/21 ]

Author:

{'name': 'Jason Chan', 'email': 'jason.chan@mongodb.com', 'username': 'jasonjhchan'}

Message: SERVER-60048 CheckReplDBHash should not fail for cases where we expect retryable findAndModify images to be inconsistent after a restart
Branch: master
https://github.com/mongodb/mongo/commit/bd9939bf4f98cced5b8dcd1f7249431ed5ee688c

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