vkraemer
vkraemer

Reputation: 9892

What would prevent a stand-alone Coherence server from starting?

I have created a WLS 10.3.6 domain. I have started the Node Manager. I have defined a Coherence server that is NOT part of a cluster, using the WLS console. there are no Coherence Clusters defined in the domain.

When I use the WLS console to start the Coherence server, I see messages like the following the the Coherence server''s log and eventually the startup times out.

2012-02-23 15:21:22.807/32.691 Oracle Coherence GE 3.7.1.1 <Warning> (thread=Cluster, member=n/a): This Member(Id=0, Timestamp=2012-02-23 15:20:52.694, Address=10.229.117.91:8888, MachineId=34821, Location=site:,machine:adc2171238,process:30895,member:Server-0, Role=WeblogicWeblogicCacheServer) has been attempting to join the cluster at address /224.3.7.0:37000 with TTL 4 for 30 seconds without success; this could indicate a mis-configured TTL value, or it may simply be the result of a busy cluster or active failover.
2012-02-23 15:21:22.808/32.692 Oracle Coherence GE 3.7.1.1 <Warning> (thread=Cluster, member=n/a): Received a discovery message that indicates the presence of an existing cluster that does not respond to join requests; this is usually caused by a network layer failure:
Message "SeniorMemberHeartbeat"
  {
  FromMember=Member(Id=1, Timestamp=2012-02-21 02:15:42.655, Address=127.0.0.1:8088, MachineId=60314, Location=site:,machine:localhost,process:23722, Role=WeblogicServer)
  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])
  }

What should I be looking for?

Upvotes: 3

Views: 5068

Answers (2)

summea
summea

Reputation: 7583

You might want to try setting the TTL (time-to-live) to zero with the Coherence JVM (command), like this:

-Dtangosol.coherence.ttl=0

But from the OP author, @vkraemer, it sounds like there is a bit more that is required for unicast with this line:

-Dtangosol.coherence.ttl=0 -Dtangosol.coherence.localhost=127.0.0.1

Setting the TTL to zero ensures that packets do not leave the originating machine (the server, in this case.) Otherwise, the program tries to connect to remote clusters... and then times out because there are no other clusters out there on the network.

Setting localhost to 127.0.0.1 effectively sets the unicast IP address for the server. This could potentially be another IP address, but 127.0.0.1 is being used here because it is an address that is not currently in use (see this article for more information). You may want to read about loopback, as well.

Also, if desired, see this forum thread for more information (specifically Jonathan.Knight's post.)

Upvotes: 3

vkraemer
vkraemer

Reputation: 9892

Summea's answer is very close. Here is what finally worked for me:

   -Dtangosol.coherence.ttl=0 -Dtangosol.coherence.localhost=127.0.0.1

I am going to upvote summea's answer and accept mine. If someone posts an answer the explains, "Why did that work", I will probably upvote and accept their answer.

Upvotes: 2

Related Questions