-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Replication, Storage
-
None
-
Fully Compatible
-
ALL
-
-
Storage 2017-10-02, Storage 2017-10-23
-
0
If a secondary during steady-state replication receives an oplog entry for creating a collection without a UUID while it is in featureCompatibilityVersion=3.6, then it must abort because the alternative is data corruption.
Note: This issue was only found due to a race condition in the "setFeatureCompatibilityVersion" command allowing for this possibility (SERVER-31017). I suspect it is possible to simulate this more easily in sync_tail_test.cpp by using the multiSyncApply_noAbort() function.
2017-09-10T10:58:45.756-0400 2017-09-10T10:58:45.752-0400 E QUERY [thread1] Error: [{ 2017-09-10T10:58:45.756-0400 "name" : "mycoll", 2017-09-10T10:58:45.756-0400 "type" : "collection", 2017-09-10T10:58:45.756-0400 "options" : { 2017-09-10T10:58:45.757-0400 2017-09-10T10:58:45.757-0400 }, 2017-09-10T10:58:45.757-0400 "info" : { 2017-09-10T10:58:45.757-0400 "readOnly" : false 2017-09-10T10:58:45.757-0400 }, 2017-09-10T10:58:45.757-0400 "idIndex" : { 2017-09-10T10:58:45.757-0400 "v" : 2, 2017-09-10T10:58:45.757-0400 "key" : { 2017-09-10T10:58:45.757-0400 "_id" : 1 2017-09-10T10:58:45.757-0400 }, 2017-09-10T10:58:45.758-0400 "name" : "_id_", 2017-09-10T10:58:45.758-0400 "ns" : "test.mycoll" 2017-09-10T10:58:45.758-0400 } 2017-09-10T10:58:45.758-0400 }] != [{ 2017-09-10T10:58:45.758-0400 "name" : "mycoll", 2017-09-10T10:58:45.758-0400 "type" : "collection", 2017-09-10T10:58:45.758-0400 "options" : { 2017-09-10T10:58:45.758-0400 2017-09-10T10:58:45.758-0400 }, 2017-09-10T10:58:45.758-0400 "info" : { 2017-09-10T10:58:45.758-0400 "readOnly" : false, 2017-09-10T10:58:45.759-0400 "uuid" : UUID("440a716d-c32d-49d0-a39b-87c564ac61c6") 2017-09-10T10:58:45.759-0400 }, 2017-09-10T10:58:45.759-0400 "idIndex" : { 2017-09-10T10:58:45.759-0400 "v" : 2, 2017-09-10T10:58:45.759-0400 "key" : { 2017-09-10T10:58:45.759-0400 "_id" : 1 2017-09-10T10:58:45.760-0400 }, 2017-09-10T10:58:45.760-0400 "name" : "_id_", 2017-09-10T10:58:45.760-0400 "ns" : "test.mycoll" 2017-09-10T10:58:45.760-0400 } 2017-09-10T10:58:45.760-0400 }] are not equal : Expected primary and secondary to have the same collection metadata :
- related to
-
SERVER-31783 Secondaries may generate a UUID for a replicated collection on their own while upgrading to fCV=3.6
- Closed