Details
-
Bug
-
Resolution: Won't Do
-
Major
-
2.7
-
None
Description
I tried to use JGroups with a shared transport (while using only one JChannel, the one EHCache uses for replication). At ProtocolStack.java:719 the TP.ProtocolAdapter is added to the protocol stack when a shared transport is used. This leads to problems after shunning. When the JChannel.CloserThread tries in line 2018 to reopen the JChannel, the Protocol Stack is recreated. But now the TP$ProtocolAdapter is part of the protocol stack and thus of the config string created from the protocol stack at JChannel:327. As the ProtocolAdapter does not have a default constructor, the whole thing explodes at Configurator:732 where the newInstance() call of course fails while the ProtocolAdapter probably shouldn't be in the protocol stack anyway at this point in time. I guess it would be added a second time at ProtocolStack.java:719 then. Also after disabling the shared transport it seems that the problem I was able to reproduce halfway reliably through restarting both instances simultaneously doesn't arise again without shared transport.