[SERVER-38135] Do not allow transactions on shard servers when the featureCompatibilityVersion is 4.0 Created: 14/Nov/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: | Tess Avitabile (Inactive) | Assignee: | Backlog - Replication Team |
| Resolution: | Won't Fix | Votes: | 0 |
| Labels: | prepare_optional, prepare_upgrade_downgrade | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||
| Assigned Teams: |
Replication
|
||||||||||||||||||||
| Participants: | |||||||||||||||||||||
| Description |
|
We must not allow transactions on shard servers when the featureCompatibilityVersion is 4.0. When a replica set is part of a sharded cluster, we can issue transaction commands through multiple routers. This allows us to target primaries in decreasing term order, which can lead to an anomaly where a transaction can go from aborted to committed. This is addressed in FCV 4.2 by performing a write when a transaction is aborted ( |
| Comments |
| Comment by Judah Schvimer [ 07/Jan/19 ] |
|
I think that makes sense. I'll leave it open but mark it as "optional". |
| Comment by Tess Avitabile (Inactive) [ 04/Jan/19 ] |
|
judah.schvimer, this is no longer needed to ensure correctness of the TransientTransactionError label, since inĀ |