[infinispan-issues] [JBoss JIRA] (ISPN-9113) SITE_UNREACHABLE not handled by JGroupsTransport
Galder Zamarreño (JIRA)
issues at jboss.org
Wed May 2 08:29:00 EDT 2018
Galder Zamarreño created ISPN-9113:
--------------------------------------
Summary: SITE_UNREACHABLE not handled by JGroupsTransport
Key: ISPN-9113
URL: https://issues.jboss.org/browse/ISPN-9113
Project: Infinispan
Issue Type: Bug
Components: Cross-Site Replication
Affects Versions: 9.3.0.Alpha1, 9.2.2.Final
Reporter: Galder Zamarreño
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:
{code}
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
{code}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
More information about the infinispan-issues
mailing list