You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We should specify and test the concurrency and transaction semantics both of individual interface methods and specific backends. For backends that support it, we should aim to support single-writer-multiple-reader concurrency control (e.g. RWMutex unless backend handles this itself), and atomic batch transactions with read committed isolation. As far as possible, iterators should be concurrency safe and not block writers for their entire lifetime.
We may want to consider exposing backend capabilities for this, such that users can programmatically detect e.g. whether a batch write is atomic or not and take appropriate action.
We should specify and test the concurrency and transaction semantics both of individual interface methods and specific backends. For backends that support it, we should aim to support single-writer-multiple-reader concurrency control (e.g.
RWMutex
unless backend handles this itself), and atomic batch transactions with read committed isolation. As far as possible, iterators should be concurrency safe and not block writers for their entire lifetime.We may want to consider exposing backend capabilities for this, such that users can programmatically detect e.g. whether a batch write is atomic or not and take appropriate action.
Some related notes: tendermint/tmlibs#79
The text was updated successfully, but these errors were encountered: