-
Bug
-
Resolution: Done
-
Major
-
9.2.2.Final, 9.3.0.Final
If a user defineds a site with SYNC x-site replication and the site is unavailable, requests will timeout instead of quickly failing. See below for a summary discussion:
Galder: @Dan Berindei @Pedro Ruivo @Bela Ban Any thoughts on my dev thread? Galder: In essence, @Dan Berindei you made ChannelCallbacks implement UpHandler, but JChannel.invokeCallback() won't pass any events to receive instance variable because it doesn't check whether the receiver is UpHandler //cc @Tristan Bela Ban: @Galder yes, this won't work Bela Ban: @Galder You need to call RELAY2.setRouterStatusListener() directly Bela Ban: Implementing this as part of Receiver won't help Galder: Don't think RELAY2.setRouterStatusListener() is what I want - I can see RELAY2.handleMessage() passing up the stack Event.SITE_UNREACHABLE though, the problem is that there's no handler for that Bela Ban: @Galder Yes, but the SITE_UNREACHABLE event is only handled by RequestCorrelator, not by JChannel Galder: Ah ok, let me check what that does Bela Ban: The thing is that RequestCorrelator is not used anymore (AFAIK), as Infinispan moved from MessageDispatcher to JChannel Galder: the RequestCorrelator is never called Galder: exactly Bela Ban: So this is a regression caused by that move then Galder: Yeah, that's my feeling too. That's why I was asking Dan about the move to make ChannelCallbacks class an UpHandler, because I noticed that happened when the move to JChannel happened Galder: The impact of this is the following: if any site in SYNC and the site is unreachable, you'd get a timeout eventually instead of a immediate failure Galder: I'm trying to implement auto x-site state transfer for protobuf metadata cache and I cannot do it until this is fixed Galder: I'll see if I can get something working with ASYNC, but ASYNC is not a good option for protobuf metadata. If a node does not succesfully get it, it won't be able to work properly