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

COUNTER does not work with ForkChannel on an already connected main channel

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 4.0, 3.6.13
    • None
    • None

      The following code doesn't work:

      JChannel ch=new JChannel().connect("cluster");
      ForkChannel fc=new ForkChannel(ch, "counter-stack", "counter-channel", true,
                                             ProtocolStack.Position.ABOVE, FRAG2.class,
                                             new COUNTER());
      CounterService counter_service=new CounterService(fc);
      fc.connect("ignore");
      Counter counter=counter_service.getOrCreateCounter("cntr", 0);
      

      Method getOrCreateCounter() hangs as its coord is null because it didn't get a view change. The issue is that COUNTER only processes view changes sent from below but not from above. The former happens when the main channel is connected, the latter when ForkChannel.connect() is called.

      SOLUTION: add view change processing in down().

              rhn-engineering-bban Bela Ban
              rhn-engineering-bban Bela Ban
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: