TIBCO LogLogic - MySQL Fatal Error - Identical UUIDs

TIBCO LogLogic - MySQL Fatal Error - Identical UUIDs

book

Article ID: KB0079238

calendar_today

Updated On:

Products Versions
TIBCO LogLogic Enterprise Virtual Appliance 5.7.0+

Description

You see the following error in the sys.log on either the master or the vicemaster appliance:

Errno: 1593
Fatal error: The slave I/O thread stops because master and slave
have equal MySQL server UUIDs; these UUIDs must be different for
replication to work.


Additionally, one or more of the engines may be in DISABLED state, in INIT state, or may toggle constantly between RUNNING and INIT.

Issue/Introduction

This KB article shows you how to resolve a scenario where MySQL complains about identical UUIDs.

Environment

This only applies in a two appliance HA configuration. In addition, this only affects LMI EVAs as described in the resolution section.

Resolution

This error is caused by identical values in the auto.cnf file that is created when MySQL starts up.  In order to replicate these to values need to be different.  To this end, they are assigned randomly from a large pool of potential options.  In usual operation, the chances of the UUID in the auto.cnf file on the master and on the vicemaster is non-zero but negligible.  However, if an Enterprise Virtual Appliance is cloned, these two values are identical and so MySQL replication cannot start.  This in turn impacts the engines mentioned above.

To fix this issue, log on to the vicemaster appliance using the toor account and follow these steps:
1. $ cd /loglogic/data
2. $ rm -f auto.cnf
3. $ mtask -s engine_mysqld restart

You can monitor the engine restart via the watchqueue command.  Once engine_mysqld shows RUNNING, you should see that the auto.cnf file has been recreated, and the UUID inside should be different to that inside the auto.cnf file on the master appliance.  Replication should begin straight away.  If there are any engines in DISABLED state on either appliance, restart them using the following syntax:

$ mtask -s <engine_name> stop; mtask -s <engine_name> start