-
Notifications
You must be signed in to change notification settings - Fork 357
Description
When using fragmentation, the onComplete signal is sometimes missing with requestStream and requestChannel. This has been observed using many different fragmentation values (from 64 and up), and the behaviour is different locally than it is when using it over internet.
Expected Behaviour: When fragmentation is enabled, granted there are no errors, the entire payload is received by the client and the server finished by sending the COMPLETE frame.
Actual Behaviour: When fragmentation is enabled, when communicating over the internet, the socket is inconsistent, sometimes producing all payloads and the completion signal, and sometimes the payload amount varies, and no completion signal is issued.
Steps to Reproduce
- Create an rsocket server using the websocket transport protocol on an external server
- Create an rsocket client using the websocket transport protocol.
- Enable fragmentation on both server and client
- Send a big item and observe the onCompletion signal never arriving
Additional Information
Rsocket Version: 0.12.2-RC2
Infrastructure (Amazon): Rsocket Client -> Kong ALB -> Kong -> Service ALB -> Service
The behaviour works as expected when testing locally, but not over the internet. The load balancers have been tested and are not the issue.
Workaround
The current workaround we are using is to disable fragmentation, which resolves the issue.
If you require additional information, please let me know.