Discussions
Categories
- 17.9K All Categories
- 3.4K Industry Applications
- 3.3K Intelligent Advisor
- 63 Insurance
- 535.7K On-Premises Infrastructure
- 138.1K Analytics Software
- 38.6K Application Development Software
- 5.6K Cloud Platform
- 109.3K Database Software
- 17.5K Enterprise Manager
- 8.8K Hardware
- 71K Infrastructure Software
- 105.2K Integration
- 41.5K Security Software
coherence 3 and 12 version in same machine

Hi,
I am using Linux machine and in same machine coherence 3 version is installed and running. I have installed coherence 12 on same machine. For both coherence 3 and 12 separate
tangosol override file is there and cluster name is also unique for bot version. Coherence 3 is using java 6 default from Java_home and coherence 12 is using explicitly given java 1.8.
Initially bith coherence 3 and 12 were running on same machine but suddenly coherence 3 got stopped with error as
This member could not join the cluster because of a configuration mismatch between this member and the configuration being used by the rest of the cluster. This member specified a cluster name of "HOU9-HermesCluster-Production" which did not match the name of the running cluster. This indicates that there are multiple clusters on this network attempting to use overlapping network configurations. Rejected by Member(Id=1, Timestamp=2017-06-27 01:15:31.007, Address=15.102.47.4:8088, MachineId=55593, Location=site:,machine:g9t1884g,process:6963, Role=ApacheCatalinaStartupBootstrap).
2017-06-28 10:17:11.217/9.482 Oracle Coherence GE 3.7.1.0 <D5> (thread=Cluster, member=n/a): Service Cluster left the cluster
2017-06-28 10:17:11.220/9.485 Oracle Coherence GE 3.7.1.0 <Error> (thread=main, member=n/a): Error while starting cluster: java.lang.RuntimeException: Failed to start Service "Cluster" (ServiceState=SERVICE_STOPPED, STATE_JOINING)
at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.start(Service.CDB:38)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.start(Grid.CDB:6)
at com.tangosol.coherence.component.net.Cluster.onStart(Cluster.CDB:56)
at com.tangosol.coherence.component.net.Cluster.start(Cluster.CDB:11)
at com.tangosol.coherence.component.util.SafeCluster.startCluster(SafeCluster.CDB:3)
at com.tangosol.coherence.component.util.SafeCluster.restartCluster(SafeCluster.CDB:10)
at com.tangosol.coherence.component.util.SafeCluster.ensureRunningCluster(SafeCluster.CDB:26)
at com.tangosol.coherence.component.util.SafeCluster.start(SafeCluster.CDB:2)
at com.tangosol.net.CacheFactory.ensureCluster(CacheFactory.java:427)
at com.tangosol.net.DefaultConfigurableCacheFactory.ensureServiceInternal(DefaultConfigurableCacheFactory.java:968)
at com.tangosol.net.DefaultConfigurableCacheFactory.ensureService(DefaultConfigurableCacheFactory.java:937)
at com.tangosol.net.DefaultCacheServer.startServices(DefaultCacheServer.java:81)
at com.tangosol.net.DefaultCacheServer.intialStartServices(DefaultCacheServer.java:250)
at com.tangosol.net.DefaultCacheServer.startAndMonitor(DefaultCacheServer.java:55)
at com.tangosol.net.DefaultCacheServer.main(DefaultCacheServer.java:197)
Answers
-
Starting with Coherence 12.2.1 Coherence allows you to run multiple clusters using overlapping IPs and ports, you only need to distinguish the cluster's with unique names. Since you are also running an older version of Coherence you'll need to ensure that older cluster is on a distinct set of IPs and ports and ensure it doesn't overlap with the IPs and ports used by our Coherence 12.2.1 and later clusters. If it is a multicast cluster this means you need to use a distinct multicast group address and multicast port for the Coherence 3.x cluster. If it is WKA then please ensure that the WKA ports configured for your Coherence 3.x cluster are outside of your systems ephemeral port range and also don't step on the Coherence 12.2.1 cluster port. Coherence 12.2.1 does't require WKA ports, or explicit port configuration beyond the cluster port which default to 7574 and need not be changed. If you're still having troubles please post both of your override files.
thanks,
mark
Oracle Coherence
-
Hi Mark,
Thanks for the reply . We are not using multicast.
We have four server(IP) out of which two IP will be configured on coh 3 overreide file and other two for coherence 12.
Below is the override file configuration and we want to keep First IP and second IP on coherence 3 and Third IP and Fourth IP on Cohernce 12. Should we
achieve our result with the below configuration .
<unicast-listener>
<well-known-addresses>
<socket-address id="1">
<address>first IP</address>
<port>8088</port>
</socket-address>
<socket-address id="2">
<address>Second IP</address>
<port>8088</port>
</socket-address>
<socket-address id="3">
<address>Third IP</address>
<port>8088</port>
</socket-address>
<socket-address id="4">
<address>Forth IP</address>
<port>8088</port>
</socket-address>
</well-known-addresses>
<address system-property="tangosol.coherence.localhost">localhost</address>
<port system-property="tangosol.coherence.localport">8088</port>
<port-auto-adjust system-property="tangosol.coherence.localport.adjust">true</port-auto-adjust>
</unicast-listener>
-
You'll definitely run into troubles if you use the same config (with same IPs/ports) for both versions at the same time. If you were to do this the two versions would see each other and cause the exception you're receiving. To correct this I'd suggest creating a separate config for each cluster and have each have a wka list which doesn't include the other cluster's ports. To make this easier I'd also suggest that the 12.2.1 config not include any ports at all, then it will use ephemeral ports. Specifically I'm suggesting that for the 12.2.1 config you not have port elements in the well-known-addresses section, or in the unicast-listener section.
Mark
Oracle Coherence