Uploaded image for project: 'JGroups'
  1. JGroups
  2. JGRP-1209

MuxUpHandler needs to handle all event types

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 2.10
    • 2.10
    • None

      MuxUpHandler needs to handle other events besides MSG and VIEW_CHANGE. Patch attached.

      The tricky one's are state transfer related and BLOCK/UNBLOCK.

      BLOCK/UNBLOCK is fairly straightforward, except a handler may be registered with the Channel after it is started. In that case, the handler needs to be passed the last BLOCK/UNBLOCK event so it's initial state is correct.

      State transfer is more complex. I've got a solution based on a rule that if a bunch of components of a service want to share a channel via Mux(Message/Rpc)Dispatcher, then at most one can use full state transfer; the rest must use partial state transfer. Those that use partial state transfer can register an UpHandler with the Muxer that implements a new StateTranferFilter interface

      boolean accepts(String state_id)

      MuxUpHandler handles state transfer related events by iterating through the registered handlers, calling accepts(), passing the event to the one that returns true, with fallback logic if none accept. See patch I'll attach in a moment for further details.

              bstansbe@redhat.com Brian Stansberry
              bstansbe@redhat.com Brian Stansberry
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved: