[SERVER-42381] A failed unstashTransactionResources must leave transaction in stashed or aborted state Created: 24/Jul/19  Updated: 06/Dec/22  Resolved: 24/Jul/19

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

Type: Bug Priority: Major - P3
Reporter: Matthew Russotto Assignee: Backlog - Replication Team
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
duplicates SERVER-42388 Release the transaction lock resource... Closed
Related
is related to SERVER-41556 Must handle failure to reacquire lock... Closed
Assigned Teams:
Replication
Operating System: ALL
Participants:

 Description   

If TransactionParticipant::Participant::unstashTransactionResources fails nonfatally for any reason, it must either leave the transaction in a stashed state or an aborted state, otherwise the transaction resources may be lost. In service_entry_point_common, unstashTransactionResources has no guard around it, and it's not clear what such a guard could do because a failure from unstashTransactionResources currently may leave the transaction either stashed or unstashed.



 Comments   
Comment by Suganthi Mani [ 24/Jul/19 ]

Currently, this SERVER-41556 has been reverted due to BF-14017. So, I have created another ticket SERVER-42388 which should address the problem caused due to SERVER-41556. And, I am closing this ticket as dup of SERVER-42388. Let me if anyone has any concerns on it.

Comment by Siyuan Zhou [ 24/Jul/19 ]

matthew.russotto, do you mean this line?

Comment by Matthew Russotto [ 24/Jul/19 ]

Specifically it is

TransactionParticipant::TxnResources::release() line 862

which I think can fail. I thought we fixed this before but it doesn't look fixed.

Comment by Judah Schvimer [ 24/Jul/19 ]

suganthi.mani, this seems related to work you're working on.

Generated at Thu Feb 08 05:00:20 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.