Skip to content

Specify and test concurrency and transaction semantics #62

@erikgrinaker

Description

@erikgrinaker

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions