-
Notifications
You must be signed in to change notification settings - Fork 351
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
Server does not close and re-connect on missed keep alive ack #1099
Comments
Hi @rstoyanchev, any updates on the planning/status of this bug ? |
This bug is serious, it cause we CANNOT recover from temporary network problems, the retry mechanism become useless, the only way to recover is to restart the application, which is woeful. |
Any workaround would be appreciated. @rstoyanchev |
In #1085, The fix we've identified with @OlegDokuka is to close the connection in Note that as the test blocks the Reactor Netty thread in StepVerifier.create(
Flux.range(0, expectedCount)
.delayElements(Duration.ofMillis(2000)) // <<== change here from 1000 to 2000
.flatMapSequential(i ->
rsocketClient.requestResponse(Mono.just(DefaultPayload.create("")))
.doOnNext(message -> {
if (sleepOnce.getAndSet(false)) {
try {
LOG.info("Sleeping...");
Thread.sleep(1_000);
LOG.info("Waking up.");
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
})
))
.expectSubscription()
.expectNextCount(expectedCount)
.verifyComplete(); |
Superseded by #1118. |
Using the server setup found here and using rsocket-core 1.1.3 my server behaves as expected. If for some reason no acks get delivered during the keep-alive timeout it will restart the connection. In 1.1.4 this no longer works.
Expected Behavior
After:
I expect that the connection is closed and my client can reconnect.
Actual Behavior
In 1.1.4 the client RSocketRequester does not properly reset the connection and the next call fails with the same
ConnectionErrorException
Steps to Reproduce
I've created a small reproducing example. The test in this projects runs green using rsocket-core 1.1.3, but fails when using 1.1.4
Possible Solution
I believe this is regression from this change.
Your Environment
See sample project
netty
, ...): spring-boot-starter-rsocket 3.2.0javar -version
) or Node version (node --version
)): zulu 17.0.8uname -a
): macos 14.2 (23C64)The text was updated successfully, but these errors were encountered: