[SERVER-40103] Improve retry behavior of non-txn writes conflicting with txns Created: 13/Mar/19  Updated: 22/Aug/23  Resolved: 03/May/19

Status: Closed
Project: Core Server
Component/s: Concurrency, Storage
Affects Version/s: None
Fix Version/s: None

Type: Question Priority: Major - P3
Reporter: Geert Bosch Assignee: Geert Bosch
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
related to SERVER-79123 Tests enabling skipWriteConflictRetri... Closed
is related to SERVER-40062 Add failpoint to skip doing retries o... Closed
Sprint: Storage NYC 2019-03-25, Storage NYC 2019-04-08, Storage NYC 2019-05-06
Participants:

 Description   

Currently client applications that use transactions may have conflicting non-transactional writes that keep retrying even when no transactions have committed, potentially leading to starvation of the in-progress transaction. For prepare conflicts, we at least block until a prepared transaction has been committed, ensuring forward progress, but for regular conflicts with in-progress transactions we don't.

This ticket is to improve this behavior by having threads with write conflicts wait until they can get a newer snapshot.



 Comments   
Comment by Geert Bosch [ 03/May/19 ]

We're closing this ticket until we have evidence that this actually significantly affects performance: we'll gradually back off to retrying every 100ms and that may be OK for now.

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