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

Channel#connect should stop stack in case it failed

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 2.6.2, 2.7
    • 2.4, 2.5, 2.6
    • None

      [Vladimir]

      I think I got one of the last failures in modified ViewDeliveryDemo. I am testing 2.6 branch on atlanta cluster. It was related to a case where no traffic seems to be going between members after connect failure occurred. A connect failure specifically related to join reject due to a member already being included in a view - this was not port related I believe but rather a race of sending join request. I used port manager.

      Anyhow, to be honest I did not understand the underlying reasons but I did something that seems to be intuitive. In connect method I reversed stack to original state in case of connect failure. That includes calling stopStack and init().

      if(res != null && res instanceof Exception) {
      try

      { prot_stack.stopStack(); }

      catch(Exception e)

      { if(log.isErrorEnabled()) log.error("exception: " + e); }

      init();
      throw new ChannelException("connect() failed", (Throwable)res);
      }
      }

      After this fix I did not see the problem again an I ran three member test for about two hours.

      Cheers.

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

                Created:
                Updated:
                Resolved: