[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: |
|
||||||||
| 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: |
| Comment by Githook User [ 26/Jul/17 ] |
|
Author: {'email': 'allison.chang@10gen.com', 'username': 'archang68', 'name': 'Allison Chang'}Message: |
| 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? |