-
-
Notifications
You must be signed in to change notification settings - Fork 118
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
Data race in cluster setup using Olric v0.5.5 #247
Labels
bug
Something isn't working
Comments
buraksezer
added a commit
that referenced
this issue
May 10, 2024
The code has been updated to include a join process before starting the routing table in internal/cluster/routingtable/ and internal/testcluster/testcluster.go. This ensures that the command handlers of the routing table service wait for the cluster join event. Additionally, any join process failure in RoutingTable is now handled properly. The changes also include the introduction of 'ErrNotJoinedYet' error in the discovery.go file to handle 'not joined yet' situations.
buraksezer
added a commit
that referenced
this issue
May 10, 2024
The code has been updated to include a join process before starting the routing table in internal/cluster/routingtable/ and internal/testcluster/testcluster.go. This ensures that the command handlers of the routing table service wait for the cluster join event. Additionally, any join process failure in RoutingTable is now handled properly. The changes also include the introduction of 'ErrNotJoinedYet' error in the discovery.go file to handle 'not joined yet' situations.
Hey @zhp007, Thank you for reporting this. The problem has been fixed, and Olric v0.5.6 has been released. https://github.com/buraksezer/olric/releases/tag/v0.5.6 The current solution fixes the problem, but we need more complicated refactoring to improve the code quality. This can be done in v0.6.0. |
buraksezer
added a commit
that referenced
this issue
May 10, 2024
The code has been updated to include a join process before starting the routing table in internal/cluster/routingtable/ and internal/testcluster/testcluster.go. This ensures that the command handlers of the routing table service wait for the cluster join event. Additionally, any join process failure in RoutingTable is now handled properly. The changes also include the introduction of 'ErrNotJoinedYet' error in the discovery.go file to handle 'not joined yet' situations.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
In the olric_test.go, add the following sample test:
Then run the command:
Some rounds will fail with the following error message:
The text was updated successfully, but these errors were encountered: