-
Notifications
You must be signed in to change notification settings - Fork 62
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Send buffer fix #380
Send buffer fix #380
Conversation
I think what is happening when the proactive max_payload check is disabled is that |
Actually no, pipeline reader fails with |
Signed-off-by: Caleb Lloyd <caleb@synadia.com>
Signed-off-by: Caleb Lloyd <caleb@synadia.com>
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.
LGTM
If server drops the connection halfway through sending a large message pipelines reader was not recovering after reconnect. With this fix we consider the pending message sent if there were any socket send errors.
PS I could not reproduce the issue connecting to nats-server (hence used the mock server) but the error can be reproduced if proactive max_payload check is commented out. Just try to publish a payload larger than 1MB then try to publish or ping after that. Even though client reconnects you'd see pipeline exceptions:
System.InvalidOperationException: The examined position cannot be less than the previously examined position.