Client won't open with Redundancy

Hi All,

I’ve set up two Ignition servers ( 8.0.17 ) for redundancy. Obviously one Master and one Backup.
Everything is set up correctly and working fine, except in one case. If the Backup server is down it’s impossible to launch a client. It stays something like 10 seconds on this screen

Then the screen disappears and nothing else happens. As soon as I turn off the redundancy or I turn on the Backup server the client can be launched.
I’ve checked in the VisionClientLauncher.log and found this

INFO  [GatewayConnect                ] [2021/07/23 10:33:13]: Attempting to connect to gateway http://192.168.19.30:8088...
INFO  [LaunchUtil                    ] [2021/07/23 10:33:14]: Starting Java with the following parameters: C:\Users\Tecno\.ignition\cache\resources\runtimes\11.0.7\bin\java.exe -classpath C:\Users\Tecno\.ignition\clientlauncher-data\launchclient.jar -Djavaws.sr.gateway.addr.0=http://192.168.19.30:8088 -Djavaws.sr.gateway.addr.1=http://192.168.19.29:8088 -Djavaws.sr.launchts=1627029194674 -Djavaws.sr.main=com.inductiveautomation.factorypmi.application.runtime.ClientLaunchHook -Djavaws.sr.platform.edition= -Djavaws.sr.platform.plugins= -Xms32M -Xmx256M -Djavaws.sr.memory.init=32M -Djavaws.sr.memory.max=256M -Dsun.java2d.d3d=false -Dsun.java2d.noddraw=false -Djavaws.sr.screen=0 -Djavaws.sr.scope=C -Djavaws.sr.project=IP1 com.inductiveautomation.ignition.client.launch.BootstrapSwingFS 
INFO  [GatewayConnect                ] [2021/07/23 10:37:15]: Attempting to connect to gateway http://192.168.19.30:8088...
WARN  [CertificateCheckService       ] [2021/07/23 10:37:17]: A Communication error occurred when attempted to communicate with the backup gateway 'http://192.168.19.29:8088'. Launching will continue, but no certificate checking can be performed while it is down
java.net.ConnectException: Connection refused: connect
	at java.base/java.net.PlainSocketImpl.waitForConnect(Native Method)
	at java.base/java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:107)
	at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:399)
	at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:242)
	at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:224)
	at java.base/java.net.Socket.connect(Socket.java:609)
	at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:177)
	at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:474)
	at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:569)
	at java.base/sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
	at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:341)
	at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:362)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1248)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1187)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1081)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:1015)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1587)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1515)
	at java.base/java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:527)
	at com.inductiveautomation.ignition.launcher.common.utils.GatewayCommUtil.getGatewayConnection(GatewayCommUtil.java:181)
	at com.inductiveautomation.ignition.launcher.common.utils.GatewayCommUtil.getGatewayConnection(GatewayCommUtil.java:113)
	at com.inductiveautomation.ignition.launcher.common.utils.GatewayCommUtil.getGatewayRawResponse(GatewayCommUtil.java:263)
	at com.inductiveautomation.ignition.launcher.common.utils.GatewayCommUtil.getGatewayInfo(GatewayCommUtil.java:396)
	at com.inductiveautomation.ignition.launcher.common.utils.CertificateCheckService.lambda$checkGateway$4(CertificateCheckService.java:172)
	at com.inductiveautomation.ignition.launcher.common.utils.SimpleService$1.call(SimpleService.java:23)
	at javafx.concurrent.Task$TaskCallable.call(Task.java:1425)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at javafx.concurrent.Service.lambda$executeTask$6(Service.java:725)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at javafx.concurrent.Service.lambda$executeTask$7(Service.java:724)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)

There are other posts like mine but none have a solution

Any help?

Cheers,

It seems this was fixed in 8.1.0.

@althepal will comment, on linux redundancy doesn’t work on 8.1.0 he can advise which it does

We were told there was a bug (IGN-1663) with Ignition redundancy synchronisation, which left the Master and Standby both trying to act as the master. This caused issues with logging, which was what we were seeing.

This was apparently fixed in version 8.1.3, although we’ve not tested upgrading the system to this version to test it.

Although this is not the issue you were having, it might be sensible to upgrade to at least 8.1.3 to avoid this potential problem.

1 Like

Thanks to all for the help :slight_smile:
If the only option is to upgrade from 8.0.17 to 8.1.3 or above, I’ll try in a test environment and let you know.

Cheers,

So, I tested with 8.1.7, and it worked.

Cheers and thanks for the feedback :slight_smile:

1 Like