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

Converge concurrency cases related to Array.Set #994

Open
hackerwins opened this issue Sep 3, 2024 · 1 comment
Open

Converge concurrency cases related to Array.Set #994

hackerwins opened this issue Sep 3, 2024 · 1 comment
Labels
enhancement 🌟 New feature or request sdk ⚒️

Comments

@hackerwins
Copy link
Member

What would you like to be added:

Converge concurrency cases related to Array.Set(the below 3 failure cases):

In PR #985, we added tests for several cases that can arise during concurrent editing of arrays and introduced the Array.Set method alongside existing operations like Insert, Move, and Remove. To meet the concurrent editing requirements linked to Array.Move, we recognize the need for foundational infrastructure changes(#987).

Insert(Prev) Insert(Prev.Next) Set(Target) Remove(Target)
Insert(Prev) o o o o
Insert(Prev.Next) o o o
Set(Target) o o o
Remove(Target) o o o

However, for the concurrency scenarios associated with Array.Set, it appears we can resolve the issues by separating the updates of UpdatedAt and MovedAt, making this a relatively straightforward task.

Why is this needed:

This enhancement will provide clarity and consistency in the usage of the Array.Set method.

@hackerwins hackerwins added enhancement 🌟 New feature or request sdk ⚒️ labels Sep 3, 2024
@cloneot
Copy link
Contributor

cloneot commented Sep 3, 2024

It might be related to Roadmap for Array (issue #990) as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement 🌟 New feature or request sdk ⚒️
Projects
Status: Backlog
Development

No branches or pull requests

2 participants