Open abdulrahimseera opened 8 months ago
@abdulrahimseera Hey! I had the same problem.
The fix was to downgrade reactor-core lib to 3.5.16.
implementation("io.projectreactor:reactor-core:3.5.16")
The problem was in Mono subscribe
method. In 3.6.x version they changed lines
publisher.subscribe(subscriber);
to
CoreSubscriber subscriber = Operators.restoreContextOnSubscriberIfPublisherNonInternal(publisher, (CoreSubscriber)subscriber);
publisher.subscribe(subscriber);
Operators.restoreContextOnSubscriberIfPublisherNonInternal
returns FuseableContextWriteRestoringThreadLocalsSubscriber
In that class method requestFusion
returns 0.
And that is why we have that exception in rsocket from InMemoryResumableFramesStore
See onSubscribe
method qs.requestFusion(ANY);
this return 0 from FuseableContextWriteRestoringThreadLocalsSubscriber
Didn't dig further, but hope this helps.
@OlegDokuka fyi
@OlegDokuka any updates on this? still relevant
@vasyl-pryimak, It appears that no one is actively maintaining the repository. :(
Expected Behavior
The Rocket server should respond to the client.
Hello from RSocket consumer
Actual Behavior
Throwing exception reactor.core.Exceptions$ErrorCallbackNotImplemented: java.lang.IllegalStateException: Source has to be ASYNC fuseable
Error stack trace
Steps to Reproduce
Sample project to reproduce the issue: https://github.com/abdulrahimseera/rsocket-spring-boot-3.2.x
Needs to run both services and then call "http://localhost:3333/hello/rsocket".
Possible Solution
Your Environment
netty
, ...): rsocket-transport-netty 1.1.3 & rsocket-micrometer 1.1.4javar -version
) or Node version (node --version
)): JDK 17 with Spring boot 3.2.1uname -a
): MacOs Venture Version 13.6.3 (22G436)