Details
-
Bug
-
Resolution: Fixed
-
Major - P3
-
None
-
None
-
Fully Compatible
-
ALL
-
-
Storage 2017-10-02, Storage 2017-10-23
-
0
Description
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 :
|
Attachments
Issue Links
- related to
-
SERVER-31783 Secondaries may generate a UUID for a replicated collection on their own while upgrading to fCV=3.6
-
- Closed
-