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

ClusterClient fixes #3866

Conversation

Aaronontheweb
Copy link
Member

@Aaronontheweb Aaronontheweb commented Jul 24, 2019

Using the test cases provided by @mwpro on #2535

Also ports:

akka/akka#22992
akka/akka#24167

Close #2535
Close #2312
Close #3840

@Aaronontheweb Aaronontheweb marked this pull request as ready for review July 25, 2019 02:53
@Aaronontheweb
Copy link
Member Author

Need to add some copyright headers and wait on MNTR results.

@Aaronontheweb
Copy link
Member Author

Aaronontheweb commented Jul 25, 2019

Both the uncommented MNTR ClusterClientSpec and the ClusterClientHandoverSpec I ported failed on both .NET Core and .NET Framework - looks like there's still some bugs inside the ClusterClient that these bugs expose - it's the ClusterClient node that fails in all of them.

Attaching the logs from the .NET Core run.

net_core_mntr_windows.zip

@Aaronontheweb
Copy link
Member Author

Have the handover spec working just fine - but the original MNTR ClusterClientSpec had some parts of it that were never implemented or were commented out. Going to take a stab at debugging these before moving on.

@Aaronontheweb
Copy link
Member Author

Looks like there's a hard error:

[Node1:client][FAIL] Akka.Cluster.Tools.Tests.MultiNode.Client.ClusterClientSpec.ClusterClientSpecs
[Node1:client][FAIL-EXCEPTION] Type: Xunit.Sdk.TrueException
--> [Node1:client][FAIL-EXCEPTION] Message: Timeout (00:00:10) during fishForMessage, hint: removal
Expected: True
Actual:   False
--> [Node1:client][FAIL-EXCEPTION] StackTrace:    at Xunit.Assert.True(Nullable`1 condition, String userMessage) in C:\Dev\xunit\xunit\src\xunit.assert\Asserts\BooleanAsserts.cs:line 95
   at Akka.TestKit.TestKitBase.FishForMessage[T](Predicate`1 isMessage, Nullable`1 max, String hint) in D:\a\1\s\src\core\Akka.TestKit\TestKitBase_Receive.cs:line 52
   at Akka.Cluster.Tools.Tests.MultiNode.Client.ClusterClientSpec.<ClusterClient_must_report_removal_of_a_receptionist>b__18_1() in D:\a\1\s\src\contrib\cluster\Akka.Cluster.Tools.Tests.MultiNode\ClusterClient\ClusterClientSpec.cs:line 518
   at Akka.Cluster.Tools.Tests.MultiNode.Client.ClusterClientSpec.<ClusterClient_must_report_removal_of_a_receptionist>b__18_0() in D:\a\1\s\src\contrib\cluster\Akka.Cluster.Tools.Tests.MultiNode\ClusterClient\ClusterClientSpec.cs:line 520
   at Akka.TestKit.TestKitBase.<>c__DisplayClass141_0.<Within>b__0() in D:\a\1\s\src\core\Akka.TestKit\TestKitBase_Within.cs:line 48
   at Akka.TestKit.TestKitBase.Within[T](TimeSpan min, TimeSpan max, Func`1 function, String hint, Nullable`1 epsilonValue) in D:\a\1\s\src\core\Akka.TestKit\TestKitBase_Within.cs:line 101
   at Akka.TestKit.TestKitBase.Within(TimeSpan min, TimeSpan max, Action action, String hint, Nullable`1 epsilonValue) in D:\a\1\s\src\core\Akka.TestKit\TestKitBase_Within.cs:line 49
   at Akka.TestKit.TestKitBase.Within(TimeSpan max, Action action, Nullable`1 epsilonValue) in D:\a\1\s\src\core\Akka.TestKit\TestKitBase_Within.cs:line 32
   at Akka.Cluster.Tools.Tests.MultiNode.Client.ClusterClientSpec.ClusterClient_must_report_removal_of_a_receptionist() in D:\a\1\s\src\contrib\cluster\Akka.Cluster.Tools.Tests.MultiNode\ClusterClient\ClusterClientSpec.cs:line 522
   at Akka.Cluster.Tools.Tests.MultiNode.Client.ClusterClientSpec.ClusterClientSpecs() in D:\a\1\s\src\contrib\cluster\Akka.Cluster.Tools.Tests.MultiNode\ClusterClient\ClusterClientSpec.cs:line 290

Going to see if it's an issue with the way I ported those assertions.

@Aaronontheweb
Copy link
Member Author

Now have the ClusterClientSpec mostly working end to end - have one issue in the final set of assertions that I need to debug but otherwise this PR is good to go.

@Aaronontheweb
Copy link
Member Author

Should resolve this issue too #2312

@Aaronontheweb Aaronontheweb changed the title working on fixing ClusterClientReceptionist bug ClusterClientReceptionist fixes Jul 26, 2019
@Aaronontheweb Aaronontheweb changed the title ClusterClientReceptionist fixes ClusterClient fixes Jul 26, 2019
@Aaronontheweb
Copy link
Member Author

MNTR failed on an unrelated DistributedPubSub spec, but I know what the root cause of that is. Documented it here: #3868

@Aaronontheweb Aaronontheweb merged commit 211db8e into akkadotnet:dev Jul 26, 2019
@Aaronontheweb Aaronontheweb deleted the fix-2535-ClusterClientReceptionist-ordering branch July 26, 2019 16:38
Aaronontheweb added a commit to Aaronontheweb/akka.net that referenced this pull request Jul 26, 2019
Fixed broker `IComparer` for ClusterClient hash ring and ported over other handoff fixes.

Close akkadotnet#2535
Close akkadotnet#2312
Close akkadotnet#3840

* implemented akka/akka#24167

* implemented akka/akka#22992
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment