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

JAMES-3534 Cassandra implementation for CustomIdentityDAO #747

Merged
merged 3 commits into from Nov 18, 2021

Conversation

quantranhong1999
Copy link
Contributor

resolve linagora#4424

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.

Looks overall ok to me.

Some work could have been done to enable commutativiry of updates on distinct fields (in a concurrent environment) but this is likely overkill for identities and would complexify the code a lot. So better written like this.

Commutativity: A x B = B x A

Here A -> update replyTo and B -> update bcc

Concurrent scenario exemple

Read A
Read B
Update A
Update B

With the current code A update of replyTo would be lost. By only updating the fields we need we could imagine keeping both updates (but it likely is more complicated!)

@Arsnael Arsnael merged commit 3fbbf20 into apache:master Nov 18, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants