[SERVER-36488] Require w:majority for commitTransaction and abortTransaction on a prepared transaction Created: 07/Aug/18 Updated: 06/Dec/22 Resolved: 17/May/19 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Replication |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Judah Schvimer | Assignee: | Backlog - Replication Team |
| Resolution: | Won't Fix | Votes: | 0 |
| Labels: | prepare_errors, prepare_optional | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||
| Assigned Teams: |
Replication
|
||||||||||||
| Participants: | |||||||||||||
| Comments |
| Comment by Judah Schvimer [ 07/Aug/18 ] |
|
This is mostly to prevent coding mistakes. If we don't use w:majority, then the commit or abort could happen on one shard but roll back on another. The shard that rolls it back would ask the coordinator for the decision again, but I expect it makes it easier for the coordinator to know when it can forget its decision. Sharding could specify w:majority without it being required, but if they always want to use w:majority (which I think they do) then erroring otherwise would help prevent mistakes. |
| Comment by Andy Schwerin [ 07/Aug/18 ] |
|
Why? |