]
Bela Ban resolved JGRP-2156.
----------------------------
Resolution: Done
COUNTER does not work with ForkChannel on an already connected main
channel
---------------------------------------------------------------------------
Key: JGRP-2156
URL:
https://issues.jboss.org/browse/JGRP-2156
Project: JGroups
Issue Type: Bug
Reporter: Bela Ban
Assignee: Bela Ban
Fix For: 4.0, 3.6.13
The following code doesn't work:
{code:java}
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);
{code}
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().