You should not need to use a MuxChannel. This would only be necessary if there are other
EAP services sharing the channel. Using a MuxChannel allows your standalone Infinispan
instance to filter these irrelevant messages. However, in JDG, there should be no other
services other than Infinispan using the channel - hence the MuxChannel stuff is
unnecessary.
I think Dennis earlier response was spot on. EAP/JDG configures it's cache managers
using a ModularClassResolver (which includes a module name along with the class name when
marshalling). Your standalone Infinispan instances do not use this and therefore cannot
make sense of the message body.
Paul
----- Original Message -----
From: "Kurt T Stam" <kurt.stam(a)jboss.com>
To: "Stelios Koussouris" <stkousso(a)redhat.com>, "Radoslav
Husar" <rhusar(a)redhat.com>
Cc: "Galder Zamarreño" <galder(a)redhat.com>, "Paul Ferraro"
<paul.ferraro(a)redhat.com>, "Richard Achmatowicz"
<rachmato(a)redhat.com>, "infinispan -Dev List"
<infinispan-dev(a)lists.jboss.org>
Sent: Monday, September 29, 2014 11:39:59 AM
Subject: Re: Clustering standalone Infinispan w/ WF running Infinispan
Thanks for following up Stelios, I think Galder is traveling the next 2
weeks.
So - do we need fixes on both ends then so that the boot order does not
matter? In which project(s) would we apply
there changes? Or can they be applied in the end-user's code?
Thx,
--Kurt
On 9/26/14, 11:19 AM, Stelios Koussouris wrote:
> Hi,
>
> Rado: It is both ways. ie. if I start first the JDG Server I get the issue
> on the library mode side when I start that one. If reverse the order of
> startup I get it in the JDG Server side.
>
> Question:
>
-----------------------------------------------------------------------------------------------------------------------
> ...IMO the channel needs to be wrapped as
> org.jboss.as.clustering.jgroups.MuxChannel before passing to infinispan.
> ...
>
-----------------------------------------------------------------------------------------------------------------------
> For now that this is not being done. If I wanted to do it manually on the
> library side where I can create the protocol programmatically we are
> talking about something like this?
>
> ProtocolStackConfigurator configurator =
> ConfiguratorFactory.getStackConfigurator("jgroups-udp.xml");
> MuxChannel channel = new MuxChannel(configurator);
> org.infinispan.remoting.transport.Transport transport = new
> org.infinispan.remoting.transport.jgroups.JGroupsTransport(channel);
>
> ....
> then replace the below
> new
>
GlobalConfigurationBuilder().clusteredDefault().globalJmxStatistics().cacheManagerName("RDSCacheManager").allowDuplicateDomains(true).enable().transport().clusterName("UDM-CLUSTER").addProperty("configurationFile",
> "jgroups-udp.xml")
>
> WITH
> new
>
GlobalConfigurationBuilder().clusteredDefault().globalJmxStatistics().cacheManagerName("RDSCacheManager").allowDuplicateDomains(true).enable().transport(Transport).clusterName("UDM-CLUSTER")
>
> Btw, someone mentioned that if I follow this method I need to to know the
> assigned mux ids, but that is not quite clear what it means with regards
> to the JGroupsTransport configuration
>
> Thanks,
>
> Stylianos Kousouris
> Red Hat Middleware Consultant
>
> ----- Original Message -----
> From: "Radoslav Husar" <rhusar(a)redhat.com>
> To: "Galder Zamarreño" <galder(a)redhat.com>, "Paul
Ferraro"
> <paul.ferraro(a)redhat.com>
> Cc: "Richard Achmatowicz" <rachmato(a)redhat.com>, "infinispan
-Dev List"
> <infinispan-dev(a)lists.jboss.org>, "Stelios Koussouris"
> <stkousso(a)redhat.com>, "Kurt T Stam" <kurt.stam(a)jboss.com>
> Sent: Friday, 26 September, 2014 3:47:16 PM
> Subject: Re: Clustering standalone Infinispan w/ WF running Infinispan
>
> From what Stelios is telling me the question is a little bit other way
> round: he is using library mode infinispan and jgroups in EAP and
> connecting to JDG. So the question is what JDG is doing with the stack,
> not AS/WF as its infinispan/jgroups subsystem is not used.
>
> Unfortunately I don't have access to the JDG repo so I don't know what
> changes have been made there but if you are using the same jgroups
> logic, IMO the channel needs to be wrapped as
> org.jboss.as.clustering.jgroups.MuxChannel before passing to infinispan.
>
> Rado
>
> On 26/09/14 15:03, Galder Zamarreño wrote:
>> Hey Paul,
>>
>> In the last couple of days, a couple of people have encountered the
>> exception in [1] when trying to cluster a standalone Infinispan app with
>> its own JGroups configuration file with a AS/WF running Infinispan cache.
>>
>> From my POV, 3 possible causes:
>>
>> 1. Dependency mismatches between AS/WF and the standalone app. Having done
>> some quick study of Kurt’s case, apart from micro version changes, all
>> looks good.
>>
>> 2. Mismatch in the Infinispan and/or JGroups configuration file.
>>
>> 3. AS/WF puts something on the clustered wire that standalone Infinispan
>> does not expect. Are you still doing multiplexing? Could you be adding
>> extra info to the wire?
>>
>> With this email, I’m trying to get some clarification from you if the
>> issue could be due to 3rd option. If it’s either of the first two, it’s a
>> matter of digging and finding the difference, but if it’s 3rd one, it’s
>> more problematic.
>>
>> Any ideas?
>>
>> [1]
https://gist.github.com/skoussou/92f062f2d0bd17168e01
>> --
>> Galder Zamarreño
>> galder(a)redhat.com
>>
twitter.com/galderz
>>