JBDC_PING has a possibility not to discover other members and create singleton clusters when restarting a coordinator node in JBoss EAP 7.x

Solution Verified - Updated

Environment

  • Red Hat JBoss Enterprise Application Platform (EAP) 7.x
  • Red Hat Single Sign-On (SSO) 7.x

Issue

  • JBDC_PING has a possibility not to discover other members and create singleton clusters when restarting a coordinator node in JBoss EAP 7.x

Resolution

This issue has been reported as This content is not included.JBEAP-19576/This content is not included.JGRP-2470. This has been fixed in JGroups 4.1.10.Final that has been incorporated in JBoss EAP 7.3.3 and RH-SSO 7.4.3 onwards.

As a workaround until the fix is available, use stop and start instead of the restart when using JDBC_PING. And take a one-minute interval between stop and start. (Or, stop all cluster nodes before starting a new node.)

Root Cause

When JDBC_PING is configured, the jgroups coordinator node deletes all entries from the JDBC_PING table during the shutdown.
So, this behavior becomes a problem when you stop one of the cluster nodes and other nodes still remain in the cluster, and only if the shutdown node was a coordinator at that moment. As the JDBC_PING table become empty after that, a new cluster joiner node can not detect any existing cluster member. Therefore, a cluster split-brain issue can happen.

Components
Category

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.