[SERVER-74192] DDL coordinators that rely on the internal transaction API should make use of the OSI session id Created: 20/Feb/23  Updated: 29/Oct/23  Resolved: 09/May/23

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 7.1.0-rc0, 7.0.0-rc1

Type: Task Priority: Major - P3
Reporter: Enrico Golfieri Assignee: Paolo Polato
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
Problem/Incident
causes SERVER-76135 Mark client used in `runTransactionOn... Closed
causes SERVER-76985 New commit phase of sharded renameCol... Closed
causes SERVER-77686 rename collection no longer logs on t... Closed
Assigned Teams:
Sharding EMEA
Backwards Compatibility: Fully Compatible
Backport Requested:
v7.0
Sprint: Sharding EMEA 2023-03-06, Sharding EMEA 2023-03-20, Sharding EMEA 2023-04-03, Sharding EMEA 2023-04-17, Sharding EMEA 2023-05-01, Sharding EMEA 2023-05-15
Participants:
Linked BF Score: 148

 Description   

The internal transaction API on ddl coordinators remotely runs a transaction on the CSRS to commit the changes on the catalog.

However, because of a step-down, it can happen that the transaction does not abort correctly.

In case this happen, a subsequent transaction due to the retried operation would hang waiting for the previous transaction to close, which usually occurs after a transaction timeout.

In production the timeout is 60s, in the test framework it's 24h.

To prevent any further issue related to it, we could just re-use the same session id which would force the previous transaction to close and run the new one.

 



 Comments   
Comment by Githook User [ 09/May/23 ]

Author:

{'name': 'Enrico Golfieri', 'email': 'enrico.golfieri@mongodb.com', 'username': 'enricogolfieri'}

Message: SERVER-74192 execute commit phase of renameCollection in a single transaction
Branch: master
https://github.com/mongodb/mongo/commit/53cdeb55770a686b3ff4f09ed95176d54b9064d7

Comment by Githook User [ 04/May/23 ]

Author:

{'name': 'Enrico', 'email': 'enrico.golfieri@mongodb.com', 'username': 'enricogolfieri'}

Message: SERVER-74192 Rewritten the rename collection commit phase as a remote transaction
Branch: v7.0
https://github.com/mongodb/mongo/commit/550a3c7a4dc795da9972b526f3262c41788ed3b1

Comment by Githook User [ 05/Apr/23 ]

Author:

{'name': 'Enrico', 'email': 'enrico.golfieri@mongodb.com', 'username': 'enricogolfieri'}

Message: SERVER-74192 DDL coordinators re-use internal OSI for the commit transaction - ex. RenameCollection
Branch: master
https://github.com/mongodb/mongo/commit/8234f43eb09d3aad712a603987252b7d4a8637ae

Generated at Thu Feb 08 06:26:45 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.