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

fixes OverflowException if UnicstProcessr request and onNext race #985

Merged
merged 4 commits into from Feb 25, 2021

Conversation

OlegDokuka
Copy link
Member

closes #959

Some fix details:

Due to the RSocket Specification, section "Handling the unexpected"

Lack of REQUEST_N frames that stops a stream is an application concern and SHALL NOT be handled by the protocol.

the RequestOperator does unbounded request to the UnicastProcessor once in order to avoid any concurrency on the internal WIP field.

Signed-off-by: Oleh Dokuka shadowgun@i.ua

…tion`

Signed-off-by: Oleh Dokuka <shadowgun@i.ua>
@OlegDokuka OlegDokuka added the bug label Feb 22, 2021
@OlegDokuka OlegDokuka added this to the 1.0.4 milestone Feb 22, 2021
Signed-off-by: Oleh Dokuka <shadowgun@i.ua>
@OlegDokuka OlegDokuka changed the base branch from master to 1.0.x February 22, 2021 10:21
@OlegDokuka
Copy link
Member Author

pointers to the failed test -> https://travis-ci.org/github/rsocket/rsocket-java/jobs/759973034 with the mentioned exception in the original issue

Signed-off-by: Oleh Dokuka <shadowgun@i.ua>
Copy link
Contributor

@rstoyanchev rstoyanchev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good as a tactical solution in 1.0.x for now, although eventually it should be replaced with the queue-free and WIP-free UnicstProcessor you mentioned in #959 (comment).

Signed-off-by: Oleh Dokuka <shadowgun@i.ua>
@OlegDokuka OlegDokuka changed the title adds test that reproduces the reactor.core.Exceptions$OverflowException fixes reactor.core.Exceptions$OverflowException in case of UnicastProcess #request races with #onNext Feb 22, 2021
@OlegDokuka OlegDokuka changed the title fixes reactor.core.Exceptions$OverflowException in case of UnicastProcess #request races with #onNext fixes OverflowException if UnicstProcessr request and onNext race Feb 25, 2021
@OlegDokuka OlegDokuka merged commit 0601f88 into 1.0.x Feb 25, 2021
@OlegDokuka OlegDokuka deleted the bugfix/#959 branch February 25, 2021 15:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
2 participants