Topology mismatch leads to recovery failure in SAP HANA scale-out landscape

Symptom

ON a scale-out HANA system, recovery failed, and you could see the following errors in backup.log:

RECOVERY RECOVER DATA finished with error: [110092] Recovery failed in
nameserver startup: convert topology failed, mismatch: 1
statisticsservers configured in source topology, 0 standby in source
topology, 2 in destination system, mismatch: 1 xsengines configured in
source topology, 0 standby in source topology, 2 in destination system

Meanwhile, if you check the daemon.ini file for different nodes on HANA server, you’ll see there’re 2 nodes having the same content in their daemon.ini, for example:

cat hananode01/daemon.ini
[sapwebdisp]
instances = 1
[statisticsserver]
instances = 1
[xsengine]
instances = 1
cat hananode02/daemon.ini
[sapwebdisp]
instances = 1
[statisticsserver]
instances = 1
[xsengine]
instances = 1

Environment

HANA database 1.0 all releases

Reproducing the Issue

On a HANA scale-out landscape, when the master node and all slave nodes are not running, you tried to restart HDB server on the master node.

Cause

The recovery will always start on the master host which’s the first node in the configuration (nameserver.ini/[landscape]/master).
However on your system the last active master node was not the first node (hananode01) but the second node (hananode02). This mean a failover had taken place before and it had moved the 3 services sapwebdisp, statisticsserver and xsengine from hananode01 to hananode02 by changing the daemon.ini files. There are duplicated daemon.ini files in two nodes.
During the recovery with master node hananode01, HANA database will write the entries for the 3 services into its daemon.ini, but in fact, those services will not be removed from hananode02. This will result in error “topology mismatch”.

Resolution

You need remove the daemon.ini on hananode02, and then you can recover HANA database from backup.

Leave a Reply