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().
- is cloned by
-
JBEAP-11330 (7.0.z) COUNTER does not work with ForkChannel on an already connected main channel
- Resolved