[SERVER-82926] Unexpected CollectionUUIDMismatch Created: 08/Nov/23  Updated: 31/Jan/24  Resolved: 29/Jan/24

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

Type: Bug Priority: Major - P3
Reporter: Jessica Covan Assignee: Unassigned
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
related to SERVER-76624 Server can falsely report CollectionU... Closed
Operating System: ALL
Participants:

 Description   

Problem

In REP-3527  mongosync receives a string of CollectionUUIDMismatch errors where the previousCollName == actualCollName. 

The source collection is created with uuid cea64f35-3d0f-4ea3-8793-20da901fd071

[j6:cl0:prim] | 2023-11-02T04:35:50.175+00:00 I STORAGE 20320 [conn121] "createCollection","attr":{"namespace":"transactions_block_ddl.transactions_block_ddl","uuidDisposition":"generated","uuid":{"uuid":{"$uuid":"cea64f35-3d0f-4ea3-8793-20da901fd071"}},"options":{}}

Gets renamed 

[j6:cl0:prim] | 2023-11-02T04:35:50.417+00:00 I STORAGE 20319 [conn126] "renameCollection","attr":{"uuid":{"uuid":{"$uuid":"cea64f35-3d0f-4ea3-8793-20da901fd071"}},"fromName":"transactions_block_ddl.transactions_block_ddl","toName":"transactions_block_ddl.transactions_block_ddl_other"}

 

transactions_block_ddl.transactions_block_ddl collections are created and dropped throughout the test multiple times

[j6:cl0:prim] | 2023-11-02T04:35:50.422+00:00 I STORAGE 20320 [conn121] "createCollection","attr":{"namespace":"transactions_block_ddl.transactions_block_ddl","uuidDisposition":"generated","uuid":{"uuid":{"$uuid":"cefa8647-a699-4d0d-b900-3def05727ad4"}},"options":{}}

 

During initialization, mongosync saw the original collection (cea64f35-3d0f-4ea3-8793-20da901fd071) and persisted it in our uuid map.

[ReplicatorFixture:j6:replicator] 04:35:51.716Z {"time":"2023-11-02T04:35:51.716519Z","level":"debug","serverID":"16be15b9","mongosyncID":"coordinator","message":"Persisting the entire UUID map consisting of 28 entries: [, {srcUUID: cea64f35-3d0f-4ea3-8793-20da901fd071, dstUUID: e534e576-0d01-4a31-a41b-c5566b69e7e7, collation: [], cappedSpec: nil, dbName: transactions_block_ddl, srcCollName: transactions_block_ddl, dstCollName: transactions_block_ddl}

,...}

 

Later, we get this CollectionUUIDMismatch error where the actual name is return as transactions_block_ddl_other. 

[ReplicatorFixture:j6:replicator] 04:35:51.868Z {"time":"2023-11-02T04:35:51.868507Z","level":"debug","serverID":"16be15b9","mongosyncID":"coordinator","client":"source","database":"transactions_block_ddl","expectedCollectionName":"transactions_block_ddl","operationDescription":"Getting _id partition boundaries","attemptNumber":0,"durationSoFarSecs":0,"durationLimitSecs":600,"currentCollectionName":"transactions_block_ddl","error":"failed to fetch collection transactions_block_ddl.transactions_block_ddl's _id bounds: failed to get _id bounds for source collection 'transactions_block_ddl.transactions_block_ddl', UUID cea64f35-3d0f-4ea3-8793-20da901fd071: (CollectionUUIDMismatch) Collection UUID does not match that specified","previousCollectionName":"transactions_block_ddl","actualCollectionName":"transactions_block_ddl_other","message":"Got a collection UUID mismatch error and will retry with the actual collection name."}

 

We retry with the corrected collection name a few times, which should work but keep getting CollectionUUIDMismatch errors where prevCollName == actualCollName and eventually fatally exit

[ReplicatorFixture:j6:replicator] 04:35:52.873Z {"time":"2023-11-02T04:35:52.873501Z","level":"debug","serverID":"16be15b9","mongosyncID":"coordinator","client":"source","database":"transactions_block_ddl","expectedCollectionName":"transactions_block_ddl","operationDescription":"Getting _id partition boundaries","attemptNumber":1,"durationSoFarSecs":0,"durationLimitSecs":600,"currentCollectionName":"transactions_block_ddl_other","error":"failed to fetch collection transactions_block_ddl.transactions_block_ddl's _id bounds: failed to get _id bounds for source collection 'transactions_block_ddl.transactions_block_ddl', UUID cea64f35-3d0f-4ea3-8793-20da901fd071: (CollectionUUIDMismatch) Collection UUID does not match that specified","previousCollectionName":"transactions_block_ddl_other","actualCollectionName":"transactions_block_ddl_other","message":"Got a collection UUID mismatch error but the expected and actual collection names are the same, which can happen in some cases with sharded clusters. Will retry with the same name."}

Solution & Acceptance Criteria

Impact

What is the impact of the ticket being completed?

Optional Permalinks

Any relevant code, evergreen logs, commits, docs, etc. that should be included?


Generated at Thu Feb 08 06:50:41 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.