vert-x3 / vertx-rx

Reactive Extensions for Vert.x
Apache License 2.0
147 stars 72 forks source link

RxJava 1 CoreApiTest#testRegisterAgain fails #221

Closed jponge closed 4 years ago

jponge commented 4 years ago

The test subscribes to an Observable on an event bus MessageConsumer. When a first message is received the observable is unsubscribed, to be subscribed again.

The test passes in 3.8.x, but times out in master.

The second subscriber does received a call to onStart (can be checked by temporarily overriding the method) but never receives a onNext with the second message.

jponge commented 4 years ago

This is critical because vertx-rx is currently not being deployed.

jponge commented 4 years ago

I did a long debugger quest to see what happens on the second message being sent.

Looks like there is no handler for the second message.

eb.getDelegate().addInboundInterceptor(event -> {
      System.out.println(event.message().address());
      event.next();
    });

shows 1 message while the same code for an outboud interceptor shows 2.

jponge commented 4 years ago

Confirmed with a breakpoint in EventBusImpl in method deliverMessageLocally:

Screenshot 2020-03-24 at 10 39 09
jponge commented 4 years ago

Fixed by https://github.com/eclipse-vertx/vert.x/pull/3343