[SERVER-30508] Fail rollback via refetch if UUID of transactions collection is different on sync source Created: 03/Aug/17  Updated: 30/Oct/23  Resolved: 23/Aug/17

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

Type: Task Priority: Major - P3
Reporter: Jack Mulrow Assignee: Jack Mulrow
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Backwards Compatibility: Fully Compatible
Sprint: Sharding 2017-08-21, Sharding 2017-09-11
Participants:

 Description   

Unreplicated drops or renames on either node involved in a rollback can cause the UUID of the transactions collection to be inconsistent between them, which can lead to transactions records being fetched incorrectly.

Since this shouldn't happen often (only on non-WiredTiger storage engines and the config database has existing access control), if when refetching transaction table documents, the namespace returned for the query using the local node's transaction table UUID is not "config.transactions," rollback should fail, forcing initial sync.

The namespace is already returned for the find command used in rollbackViaRefetch with UUIDs, so it just needs to be checked if the UUID used in the find matches the UUID of the transactions table.



 Comments   
Comment by Ramon Fernandez Marina [ 24/Aug/17 ]

Author:

{'username': u'jsmulrow', 'name': u'Jack Mulrow', 'email': u'jack.mulrow@mongodb.com'}

Message:SERVER-30508 Fail rollback via refetch if transactions collection UUID is different on sync source
Branch:master
https://github.com/mongodb/mongo/commit/c1e7921e9d69bd9a37761deb58d119a324341a54

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