Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[PGSQL] ADR on PGSQL flags update concurrency control mechanism #1867

Merged
merged 4 commits into from
Dec 20, 2023

Conversation

vttranlina
Copy link
Contributor

resolve linagora#4956

Copy link
Contributor

@chibenwa chibenwa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I want to see explained that we want to avoid wrapping our read-then-write logic into transactions. Transactions are an alternative but they come at a cost: extra locking, coordination cost, needs connection pooling, etc...

I want to see written that we want to re-implement something that a similar semantic with a CRDT (commutative replicated data types) in order to solve concurrency issues. Note that the terms CRDT here is miss-employed as we rely on PGSQL strong concurrency is employed by PG. But the semantic (add - remove items in any order) is.
I think the term CRDT needs to be at least mentioned (under the terms above, which are cautious: similar sementic with a CRDT).

Copy link
Contributor

@Arsnael Arsnael left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Read it, nothing to add :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
4 participants