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

Warn about "Received Write command before Register command". #4340

Closed
ShawnYun opened this issue Mar 16, 2020 · 3 comments
Closed

Warn about "Received Write command before Register command". #4340

ShawnYun opened this issue Mar 16, 2020 · 3 comments
Assignees
Labels

Comments

@ShawnYun
Copy link

  • Akka.Net version - 1.4.2
  • Windows 10 x64
  • When I updated to akka1.4.2,warn appeared. But in Akka1.3.16, there is no warn.

warn

@Aaronontheweb
Copy link
Member

cc @IgorFedchenko - this question might be up your alley

@IgorFedchenko
Copy link
Contributor

@Aaronontheweb Indeed, thanks

@ShawnYun This is one of the logging system improvements we added into new release. What it means is that internal TcpConnection actor received Tcp.Write before he has received Tcp.Register command. So basically as described here you are usually sending Tcp.Register command with connection handler IActorRef, which will then receive data from socket (and other stuff like failure reports and ack messages). And here Tcp.Write arrives before anybody was registered as a "handler" on your side.

This is marked as Warning (not Error) since we are just buffering such writes (unlike dropping them as it was before v1.4), and then flushing buffer once your Tcp.Register message is arrived. So basically all is working, no data loss occurs.
But yet, there might be some race condition that may result in sending Write before Register. Or Register and Write are sent from different actors, which breaks messages ordering guarantee.

@ShawnYun
Copy link
Author

@IgorFedchenko Thanks! Very professional answer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants