[SERVER-29662] Fix index drop/create step in uuid enabled rollback Created: 15/Jun/17  Updated: 30/Oct/23  Resolved: 26/Jul/17

Status: Closed
Project: Core Server
Component/s: Replication
Affects Version/s: Backlog
Fix Version/s: 3.5.11

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

Issue Links:
Related
related to SERVER-29828 createIndexes oplog entry should prod... Closed
Backwards Compatibility: Fully Compatible
Sprint: Repl 2017-07-31
Participants:
Linked BF Score: 0

 Description   

In featureCompatabilityVersion 3.4, the oplog entries for createIndexes operations were "insert" operations into *.system.indexes. In featureCompatabilityVersion 3.6, we have changed createIndexes operations to be "c" type operations, which affect the databases at a high level. We need to change the rollback logic for rolling back createIndexes operations to reflect this new oplog entry format for uuid enabled rollback.

Additionally, currently we resync the entire collection when rolling back create/drop index operations. We want to change the algorithm so that these full collection resyncs are no longer necessary.



 Comments   
Comment by Githook User [ 27/Jul/17 ]

Author:

{'email': 'allison.chang@10gen.com', 'username': 'archang68', 'name': 'Allison Chang'}

Message: SERVER-29662 Fix rs_rollback_test RollbackCreateIndexCommandMissingIndexName
Branch: master
https://github.com/mongodb/mongo/commit/b6198c3a315d4b6775425d2dc8edab87d350194d

Comment by Githook User [ 26/Jul/17 ]

Author:

{'email': 'allison.chang@10gen.com', 'username': 'archang68', 'name': 'Allison Chang'}

Message: SERVER-29662 Make rollback of dropIndexes/createIndexes UUID compatible
Branch: master
https://github.com/mongodb/mongo/commit/53006d607192ee3bbaaa185fc6b1a8446e0cde8f

Comment by Eric Milkie [ 23/Jun/17 ]

Ah yes. "c" means Command, in this case.

Comment by Allison Chang [ 23/Jun/17 ]

In oplog entries there is an "op" field that denotes the type of operation that takes place. "i" stands for insert, "u" for update, etc. What I meant by a create operation is that the op field is denoted as "c," but since not all operations that are denoted as "c" type operations are create operations, I'll update the description of the ticket to make it more clear what I mean.

Comment by Eric Milkie [ 23/Jun/17 ]

I don't understand the description here; what is a "create" operation?

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