Skip to Main Content

Integration

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Message "SeniorMemberHeartbeat"

939246May 30 2012 — edited Jun 7 2012
Hello,

First of all Thank very much you for your time!!

I have an issue with oracle coherence.

I have 2 machines that I want to run as a cluster. (Ubuntu(10.10.10.85) and Windows server 2008(10.10.10.215))

With tracert and traceroute I found TTL=1;

C:\Users\Administrator>tracert 10.10.10.85
Tracing route to 10.10.10.85 over a maximum of 30 hops
1 <1 ms 1 ms 1 ms 10.10.10.85
Trace complete.

user@pap:~$ traceroute 10.10.10.215
traceroute to 10.10.10.215 (10.10.10.215), 30 hops max, 60 byte packets
1 testserver.vermantia.local (10.10.10.215) 20.379 ms * *

When I try to run my application fisrt in windows and after in ubuntu, it works fine.
But when I start my application in Ubutnu and after in Windows a take this error in Windows cmd:

-----
2012-05-30 10:36:33.104/0.500 Oracle Coherence 3.7.1.0 <Info> (thread=main, member=n/a): Loaded operational
n from "jar:file:/C:/Users/Administrator/Desktop/lib/coherence.jar!/tangosol-coherence.xml"
2012-05-30 10:36:33.197/0.593 Oracle Coherence 3.7.1.0 <Info> (thread=main, member=n/a): Loaded operational
om "jar:file:/C:/Users/Administrator/Desktop/lib/coherence.jar!/tangosol-coherence-override-dev.xml"
2012-05-30 10:36:33.260/0.656 Oracle Coherence 3.7.1.0 <Info> (thread=main, member=n/a): Loaded operational
om "jar:file:/C:/Users/Administrator/Desktop/TestCoherenceProcess.jar!/tangosol-coherence-override.xml"
2012-05-30 10:36:33.275/0.671 Oracle Coherence 3.7.1.0 <D5> (thread=main, member=n/a): Optional configurati
/custom-mbeans.xml" is not specified

Oracle Coherence Version 3.7.1.0 Build 27797
Grid Edition: Development mode
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

2012-05-30 10:36:34.305/1.701 Oracle Coherence GE 3.7.1.0 <D4> (thread=main, member=n/a): TCMP bound to /10
88 using SystemSocketProvider
2012-05-30 10:37:04.428/31.824 Oracle Coherence GE 3.7.1.0 <Warning> (thread=Cluster, member=n/a): This Mem
estamp=2012-05-30 10:36:34.383, Address=10.10.10.215:8088, MachineId=53928, Location=site:,machine:WIN-BSAK
ss:5448, Role=ClusterAppClusterApp) has been attempting to join the cluster at address /224.3.6.0:4422 with
seconds without success; this could indicate a mis-configured TTL value, or it may simply be the result of
er or active failover.
2012-05-30 10:37:04.428/31.824 Oracle Coherence GE 3.7.1.0 <Warning> (thread=Cluster, member=n/a): *Received*
*message that indicates the presence of an existing cluster that does not respond to join requests; this is*
*d by a network layer failure:*
Message "*SeniorMemberHeartbeat*"
{
FromMember=Member(Id=1, Timestamp=2012-05-30 10:36:28.541, Address=10.10.10.85:8088, MachineId=3750, Loca
chine:pap,process:2022, Role=ClusterAppClusterApp)
FromMessageId=0
Internal=false
MessagePartCount=0
PendingCount=0
MessageType=17
ToPollId=0
Poll=null
Packets
{
}
Service=ClusterService{Name=Cluster, State=(SERVICE_STARTED, STATE_ANNOUNCE), Id=0, Version=3.7.1}
ToMemberSet=null
NotifySent=false

LastRecvTimestamp=none
MemberSet=MemberSet(Size=1, ids=[1])
}
-----

The XMLs are:

<?xml version='1.0'?>
<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-operational-config coherence-operational-config.xsd">
<cluster-config>
<member-identity>
<cluster-name>FrontBackEndSystem</cluster-name>
</member-identity>
<multicast-listener>
<address>224.3.6.0</address>
<port>4422</port>
<time-to-live>2</time-to-live>
</multicast-listener>
</cluster-config>

<configurable-cache-factory-config>
<init-params>
<init-param>
<param-type>java.lang.String</param-type>
<param-value system-property="tangosol.coherence.cacheconfig">coherence-config.xml</param-value>
</init-param>
</init-params>
</configurable-cache-factory-config>
</coherence>

-----

<?xml version="1.0"?>
<!DOCTYPE cache-config SYSTEM "cache-config.dtd">
<cache-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-cache-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-cache-configcoherence-cache-config.xsd">
<caching-scheme-mapping>
<cache-mapping>
<cache-name>coherence</cache-name>
<scheme-name>distributed</scheme-name>
</cache-mapping>
</caching-scheme-mapping>

<caching-schemes>
<distributed-scheme>
<scheme-name>distributed</scheme-name>
<service-name>DistributedCache</service-name>
<backing-map-scheme>
<local-scheme/>
</backing-map-scheme>
<autostart>true</autostart>
</distributed-scheme>
</caching-schemes>
</cache-config>

-----
*And MY CODE:*


import com.tangosol.net.*;
import java.io.IOException;

public class ClusterApp {

private NamedCache cache;
private CacheService service;
private Cluster cluster;
private static boolean isStarted = false;

public ClusterApp() {
try {

//FrontBackEndSystem is the ClusterName
CacheFactory.ensureCluster();
//coherence is the CacheName
cache = CacheFactory.getCache("coherence");
//Get ClusterService and Cluster
service = cache.getCacheService();
cluster = service.getCluster();

System.out.println("\n--------------- Service Started -------------------------");
//If it's the fisrt Member of Cluster
if (cluster.getLocalMember().equals(cluster.getOldestMember())) {
startApp();
}

service.addMemberListener(new MemberListener() {

@Override
public void memberLeft(MemberEvent evt) {

//wait to change the oldest member
while (evt.getMember().equals(cluster.getOldestMember())){
}

//If Local Member became the Oldest Member
if (cluster.getLocalMember().equals(cluster.getOldestMember())) {
//If it's not started!
if (!isStarted) {
startApp();
}
}
}

@Override
public void memberLeaving(MemberEvent evt) {
}

@Override
public void memberJoined(MemberEvent evt) {
}
});

service.start();

} catch (Exception ex) {
ex.printStackTrace();
}
}

private void startApp() {
isStarted = true;
System.out.println("Start...");
//******************************************************************
if (cache.isEmpty()) {
cache.put("a", "1");
System.out.println("----------------------------------------");
System.out.println("ID: " + cluster.getLocalMember().getId() + " put: " + cache.get("a"));
System.out.println("----------------------------------------");
} else {
System.out.println("----------------------------------------");
System.out.println("ID: " + cluster.getLocalMember().getId() + " get: " + cache.get("a"));
System.out.println("----------------------------------------");
}

//******************************************************************

try {
Thread.sleep(10000);
// System.exit(0);
} catch (InterruptedException ex) {
ex.printStackTrace();
}

}

public static void main(String[] args) {

new ClusterApp();

System.out.println("> Press 'q' to exit..");
while (true) {
try {
if ('q' == System.in.read()) {
System.exit(1);
}
} catch (IOException ioE) {
ioE.getMessage();
}
}
}
}


-----
*Also, sometimes I take this error, I don't know why??* (when I run it from another pc in same local network)

2012-05-30 12:00:25.416/21.396 Oracle Coherence GE 3.7.1.0 <Info> (thread=DistributedCache:EventDispatcher, member=5): Restarting Service: Management
2012-05-30 12:00:25.441/21.421 Oracle Coherence GE 3.7.1.0 <D5> (thread=Invocation:Management, member=5): Service Management joined the cluster with senior service member 2
2012-05-30 12:00:30.110/26.090 Oracle Coherence GE 3.7.1.0 <Error> (thread=Cluster, member=5): Received cluster heartbeat from the senior Member(Id=2, Timestamp=2012-05-30 11:59:43.516, Address=10.10.10.85:8088, MachineId=3750, Location=site:,machine:pap,process:1498, Role=ClusterAppClusterApp) that does not contain this Member(Id=5, Timestamp=2012-05-30 12:00:29.202, Address=10.10.10.150:8088, MachineId=20121, Location=site:,machine:KARAGEORGIOU-PC,process:3460, Role=ClusterAppClusterApp); stopping cluster service.
2012-05-30 12:00:30.113/26.093 Oracle Coherence GE 3.7.1.0 <Error> (thread=Cluster, member=5): Full Thread Dump

Thread[PacketListenerN,8,Cluster]
java.net.TwoStacksPlainDatagramSocketImpl.receive0(Native Method)
java.net.TwoStacksPlainDatagramSocketImpl.receive(TwoStacksPlainDatagramSocketImpl.java:90)
java.net.DatagramSocket.receive(DatagramSocket.java:786)
com.tangosol.coherence.component.net.socket.UdpSocket.receive(UdpSocket.CDB:22)
com.tangosol.coherence.component.net.UdpPacket.receive(UdpPacket.CDB:1)
com.tangosol.coherence.component.util.daemon.queueProcessor.packetProcessor.PacketListener.onNotify(PacketListener.CDB:20)
com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
java.lang.Thread.run(Thread.java:722)

Thread[PacketSpeaker,8,Cluster]
java.lang.Object.wait(Native Method)
com.tangosol.coherence.component.util.queue.ConcurrentQueue.waitForEntry(ConcurrentQueue.CDB:16)
com.tangosol.coherence.component.util.queue.ConcurrentQueue.remove(ConcurrentQueue.CDB:7)
com.tangosol.coherence.component.util.Queue.remove(Queue.CDB:1)
com.tangosol.coherence.component.util.daemon.queueProcessor.packetProcessor.PacketSpeaker.onNotify(PacketSpeaker.CDB:21)
com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
java.lang.Thread.run(Thread.java:722)

Thread[PacketReceiver,7,Cluster]
java.lang.Object.wait(Native Method)
com.tangosol.coherence.component.util.Daemon.onWait(Daemon.CDB:18)
com.tangosol.coherence.component.util.daemon.queueProcessor.packetProcessor.PacketReceiver.onWait(PacketReceiver.CDB:2)
com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:39)
java.lang.Thread.run(Thread.java:722)

Thread[Reference Handler,10,system]
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:503)
java.lang.ref.Reference$ReferenceHandler.run(Reference.java:133)

Thread[Logger@9233868 3.7.1.0,3,main]
com.tangosol.coherence.component.util.Daemon.setNotification(Daemon.CDB:6)
com.tangosol.coherence.component.util.Daemon.onWait(Daemon.CDB:20)
com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:39)
java.lang.Thread.run(Thread.java:722)

Thread[Signal Dispatcher,9,system]

Thread[Finalizer,8,system]
java.lang.Object.wait(Native Method)
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135)
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151)
java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:177)

ThreadCluster
java.lang.Thread.dumpThreads(Native Method)
java.lang.Thread.getAllStackTraces(Thread.java:1618)
com.tangosol.net.GuardSupport.logStackTraces(GuardSupport.java:810)
com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.ClusterService$SeniorMemberHeartbeat.onReceived(ClusterService.CDB:33)
com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onMessage(Grid.CDB:34)
com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onNotify(Grid.CDB:33)
com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.ClusterService.onNotify(ClusterService.CDB:3)
com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
java.lang.Thread.run(Thread.java:722)

Thread[Invocation:Management,5,Cluster]
java.lang.Object.wait(Native Method)
com.tangosol.coherence.component.util.Daemon.onWait(Daemon.CDB:18)
com.tangosol.coherence.component.util.daemon.queueProcessor.Service.onWait(Service.CDB:4)
com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onWait(Grid.CDB:3)
com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:39)
java.lang.Thread.run(Thread.java:722)

Thread[Invocation:Management:EventDispatcher,5,Cluster]
java.lang.Object.wait(Native Method)
com.tangosol.coherence.component.util.Daemon.onWait(Daemon.CDB:18)
com.tangosol.coherence.component.util.daemon.queueProcessor.Service$EventDispatcher.onWait(Service.CDB:7)
com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:39)
java.lang.Thread.run(Thread.java:722)

Thread[Attach Listener,5,system]

Thread[PacketListener1P,8,Cluster]
java.net.DualStackPlainDatagramSocketImpl.socketReceiveOrPeekData(Native Method)
java.net.DualStackPlainDatagramSocketImpl.receive0(DualStackPlainDatagramSocketImpl.java:105)
java.net.AbstractPlainDatagramSocketImpl.receive(AbstractPlainDatagramSocketImpl.java:145)
java.net.DatagramSocket.receive(DatagramSocket.java:786)
com.tangosol.coherence.component.net.socket.UdpSocket.receive(UdpSocket.CDB:22)
com.tangosol.coherence.component.net.UdpPacket.receive(UdpPacket.CDB:1)
com.tangosol.coherence.component.util.daemon.queueProcessor.packetProcessor.PacketListener.onNotify(PacketListener.CDB:20)
com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
java.lang.Thread.run(Thread.java:722)

Thread[main,5,main]
java.io.FileInputStream.readBytes(Native Method)
java.io.FileInputStream.read(FileInputStream.java:242)
java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
java.io.BufferedInputStream.read(BufferedInputStream.java:254)
ClusterApp.main(ClusterApp.java:96)

Thread[PacketListener1,8,Cluster]
java.net.DualStackPlainDatagramSocketImpl.socketReceiveOrPeekData(Native Method)
java.net.DualStackPlainDatagramSocketImpl.receive0(DualStackPlainDatagramSocketImpl.java:105)
java.net.AbstractPlainDatagramSocketImpl.receive(AbstractPlainDatagramSocketImpl.java:145)
java.net.DatagramSocket.receive(DatagramSocket.java:786)
com.tangosol.coherence.component.net.socket.UdpSocket.receive(UdpSocket.CDB:22)
com.tangosol.coherence.component.net.UdpPacket.receive(UdpPacket.CDB:1)
com.tangosol.coherence.component.util.daemon.queueProcessor.packetProcessor.PacketListener.onNotify(PacketListener.CDB:20)
com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
java.lang.Thread.run(Thread.java:722)

Thread[PacketPublisher,6,Cluster]
java.lang.Object.wait(Native Method)
com.tangosol.coherence.component.util.Daemon.onWait(Daemon.CDB:18)
com.tangosol.coherence.component.util.daemon.queueProcessor.packetProcessor.PacketPublisher.onWait(PacketPublisher.CDB:2)
com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:39)
java.lang.Thread.run(Thread.java:722)

Thread[IpMonitor,6,Cluster]
java.lang.Object.wait(Native Method)
com.tangosol.coherence.component.util.Daemon.onWait(Daemon.CDB:18)
com.tangosol.coherence.component.util.daemon.IpMonitor.onWait(IpMonitor.CDB:4)
com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:39)
java.lang.Thread.run(Thread.java:722)

2012-05-30 12:00:30.113/26.093 Oracle Coherence GE 3.7.1.0 <D5> (thread=Cluster, member=n/a): Service Cluster left the cluster
2012-05-30 12:00:30.118/26.098 Oracle Coherence GE 3.7.1.0 <D5> (thread=Invocation:Management, member=n/a): Service Management left the cluster

Edited by: 936243 on 30 Μαϊ 2012 2:01 πμ

Edited by: 936243 on 30 Μαϊ 2012 2:02 πμ

Edited by: 936243 on 30 Μαϊ 2012 2:03 πμ
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jul 5 2012
Added on May 30 2012
6 comments
849 views