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

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 added some commits Jul 24, 2019

@Aaronontheweb Aaronontheweb marked this pull request as ready for review Jul 25, 2019

@Aaronontheweb

This comment has been minimized.

Copy link
Member Author

commented Jul 25, 2019

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

@Aaronontheweb

This comment has been minimized.

Copy link
Member Author

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 added some commits Jul 25, 2019

@Aaronontheweb

This comment has been minimized.

Copy link
Member Author

commented Jul 25, 2019

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 added some commits Jul 25, 2019

@Aaronontheweb

This comment has been minimized.

Copy link
Member Author

commented Jul 25, 2019

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

This comment has been minimized.

Copy link
Member Author

commented Jul 26, 2019

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

This comment has been minimized.

Copy link
Member Author

commented Jul 26, 2019

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

This comment has been minimized.

Copy link
Member Author

commented Jul 26, 2019

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

6 of 8 checks passed

PR Validation Build #2019.7.26.2 failed
Details
PR Validation (.NET Core Multi-Node Tests (Windows)) .NET Core Multi-Node Tests (Windows) failed
Details
PR Validation (.NET Core Unit Tests (Linux)) .NET Core Unit Tests (Linux) succeeded
Details
PR Validation (.NET Core Unit Tests (Windows)) .NET Core Unit Tests (Windows) succeeded
Details
PR Validation (.NET Framework Multi-Node Tests (Windows)) .NET Framework Multi-Node Tests (Windows) succeeded
Details
PR Validation (.NET Framework Unit Tests (Windows)) .NET Framework Unit Tests (Windows) succeeded
Details
PR Validation (NuGet Pack) NuGet Pack succeeded
Details
PR Validation (Windows Build) Windows Build succeeded
Details

@Aaronontheweb Aaronontheweb deleted the Aaronontheweb:fix-2535-ClusterClientReceptionist-ordering branch Jul 26, 2019

Aaronontheweb added a commit to Aaronontheweb/akka.net that referenced this pull request Jul 26, 2019

ClusterClient fixes (akkadotnet#3866)
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
Projects
None yet
1 participant
You can’t perform that action at this time.