-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Implemented RemotingTerminator #1154
Conversation
/// For system messages that require a reply back to the <see cref="IActorRef"/> responsible | ||
/// for telling a message to the <see cref="RemoteSystemDaemon"/>. | ||
/// </summary> | ||
protected IActorRef Sender { get; private set; } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is racy.
The RemoteSystemDaemon
is not an actor, just an impl of IActorRef
(VirtualPathContainer).
So there is no concurrency constraints applied here.
(I could be misreading something ofc)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I checked the scala version and they do not do this, they handle all sender related stuff inside their huge !
tell handler.
IMO, remove the property and add sender to the OnReceive method as it is not an override and we can change the signature as we like, OR
We move all of it into the TellInternal
method, which represents the same as the scala !
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm fine with option 2 - I need this data either way.
Working on this alongside some other internals fixes for Akka.Remote. |
b22cfe4
to
b2bbe59
Compare
Made some more changes to the Looks like I'm locking up one of the Akka.Remote.TestKit.Tests with that Helios change now, so I'll start digging some more into that. |
5decbbd
to
0a302cd
Compare
Waiting on the latest build to finish, but otherwise this PR is ready to review. |
result.Exception.Handle(e => true); | ||
return false; | ||
} | ||
return result.Result.All(x => x) && tr.Result; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what is the x => x
thing doing?
Seems odd too compare each element to itself (?)
[edit] nvm.
clever way of and'ing a list of bools..
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, basically I just need to make sure that N endpoints and N transports all shut down successfully and the aggregate bool
value should be either "all succeeded" or "not all succeeded"
Question: |
https://msdn.microsoft.com/en-us/library/system.threading.tasks.taskcontinuationoptions.aspx Using Part of the reason why I haven't removed |
upgraded to Helios 1.4.1 to avoid crash on TCP shutdown fixed shutdown code inside EndpointManager
0a302cd
to
38cebd0
Compare
Fixed up the bitmasking on the |
Implemented RemotingTerminator
Third try's a charm. See #774