I'm using JBoss AS 7.1.1.Final with JDK 1.6.0_45 and Ubuntu OS 64bit 13.04.
When i tried switch JGroups to version 2.11.1.Final and start again.
On node1 it start OK, no problem, but on node2 (node's started later) i met
exception.
I don't know and i can't find *what class is missing* here. Why did we
change version of JGroups into an older version?
*Exception:*
SEVERE [org.jgroups.blocks.RequestCorrelator] (OOB-40,null) failed
unmarshalling buffer into return value: java.lang.ClassNotFoundException:
org.exoplatform.services.rpc.RPCException from [Module "org.jgroups:gatein"
from local module loader @55dec1dd (roots:
/home/tuyennt/projects/gatein/gatein3/packaging/jboss-as7/pkg/target/node2/modules)]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
at
org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)
at
org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)
at
org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:423)
at
org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
at
org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
at java.lang.Class.forName0(Native Method) [rt.jar:1.6.0_45]
at java.lang.Class.forName(Class.java:249) [rt.jar:1.6.0_45]
at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:602)
[rt.jar:1.6.0_45]
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1589)
[rt.jar:1.6.0_45]
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1494)
[rt.jar:1.6.0_45]
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1748)
[rt.jar:1.6.0_45]
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1327)
[rt.jar:1.6.0_45]
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:349)
[rt.jar:1.6.0_45]
at org.jgroups.util.Util.objectFromByteBuffer(Util.java:398)
at
org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator.java:500)
at org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:365)
at
org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:771)
at org.jgroups.JChannel.up(JChannel.java:1465)
at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:954)
at org.jgroups.protocols.pbcast.FLUSH.up(FLUSH.java:430)
at org.jgroups.protocols.pbcast.STATE_TRANSFER.up(STATE_TRANSFER.java:151)
at org.jgroups.protocols.FRAG2.up(FRAG2.java:190)
at org.jgroups.protocols.FC.up(FC.java:483)
at org.jgroups.protocols.pbcast.GMS.up(GMS.java:888)
at org.jgroups.protocols.VIEW_SYNC.up(VIEW_SYNC.java:171)
at org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:234)
at org.jgroups.protocols.UNICAST.handleDataReceived(UNICAST.java:577)
at org.jgroups.protocols.UNICAST.up(UNICAST.java:295)
at org.jgroups.protocols.pbcast.NAKACK.up(NAKACK.java:709)
at org.jgroups.protocols.BARRIER.up(BARRIER.java:120)
at org.jgroups.protocols.VERIFY_SUSPECT.up(VERIFY_SUSPECT.java:132)
at org.jgroups.protocols.FD.up(FD.java:266)
at org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:275)
at org.jgroups.protocols.MERGE2.up(MERGE2.java:210)
at org.jgroups.protocols.Discovery.up(Discovery.java:292)
at org.jgroups.protocols.PING.up(PING.java:67)
at org.jgroups.stack.Protocol.up(Protocol.java:406)
at org.jgroups.protocols.TP.passMessageUp(TP.java:1093)
at org.jgroups.protocols.TP.access$100(TP.java:56)
at org.jgroups.protocols.TP$IncomingPacket.handleMyMessage(TP.java:1633)
at org.jgroups.protocols.TP$IncomingPacket.run(TP.java:1615)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
[rt.jar:1.6.0_45]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
[rt.jar:1.6.0_45]
at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_45]
On Tue, Aug 6, 2013 at 10:30 PM, Marek Posolda <mposolda(a)redhat.com> wrote:
yes, 2 virtual IP addresses are ok. And if you use same multicast
address (-u) argument for startup of both nodes, it should be sufficient to
have cluster working.
Are you using JBoss AS 7.1.1.Final or some other version? And which
environment/OS do you have? During googling I've found just this
http://jgroups.1086181.n5.nabble.com/Re-jgroups-dev-org-jgroups-protocols...,
which is actually very same error which you have, but not sure if it
helps...
Thing is that we changed JGroups version between 3.5.0 and 3.6.0. GateIn
3.5.0 is using JGroups-2.11.1.Final when GateIn 3.6 and newer is using
2.6.21.Final. So could you try to replace file
GATEIN_36_HOME/modules/org/jgroups/gatein/jgroups-2.6.21.Final.jar with the
jgrous-2.11.1.Final.jar? You will need to do it on both nodes. And you will
also need to update GATEIN_36_HOME/modules/org/jgroups/gatein/module.xml
with correct name of JGroups JAR file.
Please let me know if it helps.
Thanks,
Marek
On 6.8.2013 12:41, Tuyen The Nguyen wrote:
Hi,
I have tried to use IP 239.23.42.2 as multicast address, but i still
meet same exception:
Can i use 2 virtual IP on my machine to start 2 node as cluster? My
virtual IP is 192.168.56.1 and 192.168.57.1, if i use these IP, which
multicast IP should i use to run? These ip are worked in gatein 3.5.x
branch, but error in 3.6.x and master branch.
*Exception:*
ERROR [org.jgroups.protocols.UDP] (Timer-1,192.168.4.122:56200) failed
sending message to null (83 bytes): java.lang.Exception: dest=/
239.23.42.2:45588 (86 bytes)
at org.jgroups.protocols.UDP._send(UDP.java:374)
at org.jgroups.protocols.UDP.sendToAllMembers(UDP.java:302)
at org.jgroups.protocols.TP.doSend(TP.java:1478)
at org.jgroups.protocols.TP.send(TP.java:1468)
at org.jgroups.protocols.TP.down(TP.java:1186)
at org.jgroups.protocols.TP$ProtocolAdapter.down(TP.java:2308)
at org.jgroups.protocols.PING.sendMcastDiscoveryRequest(PING.java:278)
at org.jgroups.protocols.PING.sendGetMembersRequest(PING.java:259)
at
org.jgroups.protocols.Discovery$PingSenderTask$1.run(Discovery.java:407)
at
org.jgroups.util.TimeScheduler$RobustRunnable.run(TimeScheduler.java:196)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
[rt.jar:1.6.0_45]
at
java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
[rt.jar:1.6.0_45]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
[rt.jar:1.6.0_45]
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
[rt.jar:1.6.0_45]
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)
[rt.jar:1.6.0_45]
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)
[rt.jar:1.6.0_45]
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
[rt.jar:1.6.0_45]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
[rt.jar:1.6.0_45]
at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_45]
Caused by: java.io.IOException: Invalid argument
at java.net.PlainDatagramSocketImpl.send(Native Method) [rt.jar:1.6.0_45]
at java.net.DatagramSocket.send(DatagramSocket.java:625)
[rt.jar:1.6.0_45]
at org.jgroups.protocols.UDP._send(UDP.java:358)
... 18 more
On Tue, Aug 6, 2013 at 3:18 PM, Marek Posolda <mposolda(a)redhat.com> wrote:
> Hi,
>
>
> On 6.8.2013 06:22, Tuyen The Nguyen wrote:
>
> Hi all, I'm working on issue GTNPORTAL-2258.
>
> I configure Gatein cluster mode follow by document of gatein (
>
https://docs.jboss.org/author/display/GTNPORTAL35/Clustering+configuration
> ).
>
> When i start gatein with command:
> $ ./bin/standalone.sh --server-config=standalone-ha.xml -
> Djboss.node.name=node1 -b 192.168.210.101 -u 2.439.232.2
> -Djboss.bind.address.management=192.168.210.101
>
> I can't understand param "-u 239.23.42.2", i see that's multicast
IP,
> but how can i get this ip in my network.
>
> GateIn/JBoss clustering is using JGroups library for cluster
> communication, which is by default using UDP protocol with multicast. So
> you just need to have support for multicast in your OS and network. See for
> example
http://en.wikipedia.org/wiki/Multicast_address for more info.
> For parameter "-u" you need to use multicast IP address (something from
> 224.0.0.0 to 239.255.255.255). I am seeing that you have invalid address
> 2.439.232.2 in your first command. Address 239.23.42.2 should be ok.
> Could you double-check and test again?
>
>
> When i remove this param and use default of jbossAS and it work with
> gatein 3.5.x But in 3.6.x and master branch, i always meet exception.
>
> I recommend to always specify "-u" address and choose some
'random'
> address from the range when you test clustering. When you use default
> 230.0.0.4, you have quite big chance that your cluster will communicate
> with someone else on same network who is also testing clustering. And this
> is usually something, which you don't want and second person as well :-)
>
> Marek
>
>
> *Is there anybody know how to fix this bug?*
>
> *Exception:*
>
> ERROR [org.jgroups.protocols.UDP] (Timer-2,127.0.0.1:56200) failed
> sending message to null (66 bytes): java.lang.Exception: dest=/
> 230.0.0.4:45588 (69 bytes)
> at org.jgroups.protocols.UDP._send(UDP.java:374)
> at org.jgroups.protocols.UDP.sendToAllMembers(UDP.java:302)
> at org.jgroups.protocols.TP.doSend(TP.java:1478)
> at org.jgroups.protocols.TP.send(TP.java:1468)
> at org.jgroups.protocols.TP.down(TP.java:1186)
> at org.jgroups.protocols.TP$ProtocolAdapter.down(TP.java:2308)
> at org.jgroups.protocols.PING.sendMcastDiscoveryRequest(PING.java:278)
> at org.jgroups.protocols.PING.sendGetMembersRequest(PING.java:259)
> at
> org.jgroups.protocols.Discovery$PingSenderTask$1.run(Discovery.java:407)
> at
> org.jgroups.util.TimeScheduler$RobustRunnable.run(TimeScheduler.java:196)
> at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
> [rt.jar:1.6.0_45]
> at
> java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
> [rt.jar:1.6.0_45]
> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
> [rt.jar:1.6.0_45]
> at
>
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
> [rt.jar:1.6.0_45]
> at
>
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)
> [rt.jar:1.6.0_45]
> at
>
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)
> [rt.jar:1.6.0_45]
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
> [rt.jar:1.6.0_45]
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
> [rt.jar:1.6.0_45]
> at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_45]
> Caused by: java.io.IOException: Invalid argument
> at java.net.PlainDatagramSocketImpl.send(Native Method)
> [rt.jar:1.6.0_45]
> at java.net.DatagramSocket.send(DatagramSocket.java:625)
> [rt.jar:1.6.0_45]
> at org.jgroups.protocols.UDP._send(UDP.java:358)
> ... 18 more
>
>
>
> _______________________________________________
> gatein-dev mailing
listgatein-dev@lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/gatein-dev
>
>
>