Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-9113

SITE_UNREACHABLE not handled by JGroupsTransport

    XMLWordPrintable

Details

    Description

      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
      

      Attachments

        Issue Links

          Activity

            People

              dberinde@redhat.com Dan Berindei (Inactive)
              rh-ee-galder Galder ZamarreƱo
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: