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

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

    XMLWordPrintable

Details

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

    Description

      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().

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: