[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:
Related
related to SERVER-38132 Aborting a transaction must always up... Closed
related to SERVER-38133 When asked to continue a transaction ... Closed
related to SERVER-38134 Ensure config.transactions and Transa... Closed
is related to SERVER-38850 Perform noop write before returning N... Closed
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 (SERVER-38132) and aborting a transaction when we return NoSuchTransaction (SERVER-38133).



 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Ā SERVER-38850, we will always perform the noop write when returning NoSuchTransaction, including in FCV 4.0. However, we may wish to do it anyway, since it would be odd behavior for a mixed 4.0/4.2 cluster if you could perform a single-shard transaction if the 4.2 node was primary, but not if the 4.0 node was primary. I'll leave it up to you to decide whether to close this ticket.

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