[SERVER-47438] Cloner::copyIndexes() should generate createIndexes oplog entry (single phase index build) for building indexes on empty collection. Created: 09/Apr/20 Updated: 29/Oct/23 Resolved: 16/Apr/20 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Storage |
| Affects Version/s: | None |
| Fix Version/s: | 4.4.0-rc2, 4.7.0 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Suganthi Mani | Assignee: | Benety Goh |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||
| Backport Requested: |
v4.4
|
||||||||||||
| Sprint: | Execution Team 2020-04-20 | ||||||||||||
| Participants: | |||||||||||||
| Description |
|
This Cloner::copyIndexes() is called either during rollback via refetch or by sharding specific commands "_shardsvrCloneCatalogData" & "_cloneCatalogData". If this Cloner::copyIndexes() is called on primary for creating indexes on a non-empty collection, this can cause secondaries to block replication. But, it seems, if the node is primary, then we build indexes only on empty collections. To make this reasoning more obvious to the readers, we should make sure that if writes are replicated If writes are not replicated, the collection may not be empty. This can happen only during rollback via refetch and we don't generate any oplog entries. |
| Comments |
| Comment by Githook User [ 17/Apr/20 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: (cherry picked from commit 44af4b2915cef5afcfe63104fb902e4519ffa889) |
| Comment by Githook User [ 17/Apr/20 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: (cherry picked from commit 03793e2a6a59566858f993598a3eb924def58a1a) |
| Comment by Githook User [ 17/Apr/20 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: (cherry picked from commit 555a44b7bb6f0fea7e215283fa805f6ae6a6e850) |
| Comment by Githook User [ 17/Apr/20 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: (cherry picked from commit fc99a1a80f0d4cc063d47db3cacbba462bf69154) |
| Comment by Githook User [ 17/Apr/20 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: (cherry picked from commit a01a444b062f7911e47d9ce3b6b4206622e96dc9) |
| Comment by Githook User [ 17/Apr/20 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: (cherry picked from commit bf5c17f39148ee5c0c113d4236b76b7dd919c877) |
| Comment by Githook User [ 17/Apr/20 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: These functions were previously required by rollback via refetch. (cherry picked from commit 6388b971ca8df0d0e4b2fe4ccfc4ecc9a10decca) |
| Comment by Githook User [ 17/Apr/20 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: Most recent references were removed in commits f53a88a57da5788b355cb3037061372a706ccf0d and 64e649a622b5ac4c1bfad0933132dc7d994b9458. (cherry picked from commit eafda6eb37ce6681285a5fbc650b0c1f9b8a4924) |
| Comment by Githook User [ 17/Apr/20 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: Last reference was removed in commit 65e6cd5142082eab94a561036a53abdf60139155. (cherry picked from commit d7f09737cb3354b45368c373169156140b933773) |
| Comment by Githook User [ 16/Apr/20 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: |
| Comment by Githook User [ 16/Apr/20 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: |
| Comment by Githook User [ 16/Apr/20 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: |
| Comment by Githook User [ 16/Apr/20 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: |
| Comment by Githook User [ 16/Apr/20 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: |
| Comment by Githook User [ 16/Apr/20 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: |
| Comment by Githook User [ 15/Apr/20 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: These functions were previously required by rollback via refetch. |
| Comment by Githook User [ 15/Apr/20 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: Most recent references were removed in commits f53a88a57da5788b355cb3037061372a706ccf0d and 64e649a622b5ac4c1bfad0933132dc7d994b9458. |
| Comment by Githook User [ 15/Apr/20 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: Last reference was removed in commit 65e6cd5142082eab94a561036a53abdf60139155. |
| Comment by Benety Goh [ 09/Apr/20 ] |
|
A lot of the Cloner logic was made obsolete with |