Using singleton_name in tcp.xml, Liferay 7.2 (fix pack 1) TCPping cluster fails to start up

Issue

After installing fix pack 1 on our 7.2 TCPping cluster, the nodes fail to start up with numerous errors. It seems that Liferay cannot create JgroupsClusterChannels and singleton_name is not recognized:

ERROR [Start Level: Equinox Container: 90d5c7f8-322e-4ba1-96f6-e4c89fa83ec0][ClusterExecutorImpl:93] bundle com.liferay.portal.cluster.multiple:3.0.10 (644)[com.liferay.portal.cluster.multiple.internal.ClusterExecutorImpl(3382)] : The activate method has thrown an exception 
com.liferay.portal.kernel.exception.SystemException: Unable to create JGroupsClusterChannel

Caused by: java.lang.IllegalArgumentException: JGRP000001: configuration error: the following properties in TCP are not recognized: {singleton_name=liferay_tcp_cluster}

Environment

  • Liferay DXP 7.2 (fix pack 1+)

Resolution

If your DXP 7.2 GA1 TCPping cluster used 1 tcp.xml per Liferay node by using singleton_name in tcp.xml (shared port for control and transport), then starting from fix pack 1 of DXP 7.2, you need to adjust your configuration, either by switching to a '2 tcp.xml per node configuration' (this linked article) or by modifying the current '1 tcp.xml per node configuration' as below:

Use case 1: the initial hosts are specified via Java options

-Djgroups.tcpping.initial_hosts=hostA[7800],hostB[7800],hostN[7800] ...

then perform the following changes:
1) update

-Djgroups.tcpping.initial_hosts=hostA[7800],hostB[7800],hostN[7800] ...

to

-Djgroups.tcpping.initial_hosts=hostA[7800],hostA[7801],hostB[7800],hostB[7801],hostN[7800],hostN[7801] ...

for each Liferay node,

2) remove the singleton_name entry from each tcp.xml.


Use case 2:
the initial hosts are hardcoded in tcp.xml

initial_hosts="hostA[7800],hostB[7800],hostN[7800] ..."

1) update

initial_hosts="hostA[7800],hostB[7800],hostN[7800] ..."

to

initial_hosts="hostA[7800],hostA[7801],hostB[7800],hostB[7801],hostN[7800],hostN[7801] ..."

in the txp.xml of each Liferay node,

2) remove the singleton_name entry from each tcp.xml.

Additional Information

Was this article helpful?
1 out of 1 found this helpful