[infinispan-dev] Clustering standalone Infinispan w/ WF running Infinispan

Paul Ferraro paul.ferraro at redhat.com
Mon Sep 29 12:57:20 EDT 2014


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 at jboss.com>
> To: "Stelios Koussouris" <stkousso at redhat.com>, "Radoslav Husar" <rhusar at redhat.com>
> Cc: "Galder Zamarreño" <galder at redhat.com>, "Paul Ferraro" <paul.ferraro at redhat.com>, "Richard Achmatowicz"
> <rachmato at redhat.com>, "infinispan -Dev List" <infinispan-dev at 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 at redhat.com>
> > To: "Galder Zamarreño" <galder at redhat.com>, "Paul Ferraro"
> > <paul.ferraro at redhat.com>
> > Cc: "Richard Achmatowicz" <rachmato at redhat.com>, "infinispan -Dev List"
> > <infinispan-dev at lists.jboss.org>, "Stelios Koussouris"
> > <stkousso at redhat.com>, "Kurt T Stam" <kurt.stam at 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 at redhat.com
> >> twitter.com/galderz
> >>
> 
> 



More information about the infinispan-dev mailing list