[SERVER-33501] Support retryable writes for abortTransaction and commitTransaction commands Created: 26/Feb/18  Updated: 29/Oct/23  Resolved: 11/Apr/18

Status: Closed
Project: Core Server
Component/s: Replication
Affects Version/s: None
Fix Version/s: 3.7.4

Type: Task Priority: Major - P3
Reporter: Siyuan Zhou Assignee: Siyuan Zhou
Resolution: Fixed Votes: 0
Labels: todo_in_code
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-32323 Update transaction table appropriatel... Closed
Related
related to SERVER-33431 Fail retries of writes in multi-state... Closed
related to SERVER-33433 Rebuild in-memory Session state for c... Closed
related to SERVER-42551 Complete TODO listed in SERVER-33501 Closed
Backwards Compatibility: Fully Compatible
Sprint: Repl 2018-04-09, Repl 2018-04-23
Participants:
Linked BF Score: 0

 Comments   
Comment by Githook User [ 11/Apr/18 ]

Author:

{'email': 'siyuan.zhou@mongodb.com', 'name': 'Siyuan Zhou', 'username': 'visualzhou'}

Message: SERVER-33501 Support retryable writes for commitTransaction command

This reverts commit f205975ea89798fa1b6d91097226ae7b10ad9f3c.
Branch: master
https://github.com/mongodb/mongo/commit/50d2f0e7eae0f500ea04a509c12d7935356c0dde

Comment by Tess Avitabile (Inactive) [ 11/Apr/18 ]

Thanks for the clarification!

Comment by Siyuan Zhou [ 11/Apr/18 ]

tess.avitabile, no, abortTransaction will return NoSuchTransaction. Since aborted state isn't persistent after restart or failover, making abortTransaction return success on an aborted transaction isn't consistent before and after failover. In 4.2, we could support retryable abortTransaction though.

Comment by A. Jesse Jiryu Davis [ 11/Apr/18 ]

FYI, drivers ignore the result of abortTransaction (unless it's a network error, in which case we retry), so it doesn't matter to us whether the retry returns success or failure. No opinion about server-side requirements.

Comment by Tess Avitabile (Inactive) [ 11/Apr/18 ]

Are there plans to make retrying abortTransaction on an aborted transaction return success?

Comment by Githook User [ 11/Apr/18 ]

Author:

{'email': 'william.schultz@mongodb.com', 'name': 'William Schultz', 'username': 'will62794'}

Message: Revert "SERVER-33501 Support retryable writes for commitTransaction command"

This reverts commit 4e1fff07b0d76337232abc682fbbe13c546e5c13.
Branch: master
https://github.com/mongodb/mongo/commit/f205975ea89798fa1b6d91097226ae7b10ad9f3c

Comment by Githook User [ 10/Apr/18 ]

Author:

{'email': 'siyuan.zhou@mongodb.com', 'name': 'Siyuan Zhou', 'username': 'visualzhou'}

Message: SERVER-33501 Support retryable writes for commitTransaction command
Branch: master
https://github.com/mongodb/mongo/commit/4e1fff07b0d76337232abc682fbbe13c546e5c13

Comment by Githook User [ 05/Apr/18 ]

Author:

{'email': 'siyuan.zhou@mongodb.com', 'name': 'Siyuan Zhou', 'username': 'visualzhou'}

Message: SERVER-33501 Aborted transaction number cannot be reused.
Branch: master
https://github.com/mongodb/mongo/commit/2e31167d0e2cf179a228afeec71853cfb0f0683f

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