In config/ctdb.sysconfig file there is a uncomment CTDB_RECOVERY_LOCK option, which value is set to "/some/place/on/shared/storage".
Use of quotes, without any information to remove it, may lead to problems that are hard to examine. I have configured CTDB on two nodes to use CTDB_RECOVERY_LOCK="/ctdb/lockfile" (/ctdb is on shared storage), start ctdb service (without any errors), then unplug one of the nodes. Then on node that was still connected I have got this errors:
Taking out recovery lock from recovery daemon
Take the recovery lock
ctdb_recovery_lock: Failed to get recovery lock on '/ctdb/lockfile'
Unable to get recovery lock - aborting recovery and ban ourself for 300 seconds
Banning this node for 300 seconds
I didn't know why ctdb failed to get recovery lock on '/ctdb/lockfile' as this file was always accessible from this node. Removing quotes from CTDB_RECOVERY_LOCK resolved my problem (CTDB_RECOVERY_LOCK=/ctdb/lockfile).
You should remove quotes from CTDB_RECOVERY_LOCK option from ctdb.sysconfig file, please also consider some validity test of entered CTDB_RECOVERY_LOCK path.
Specifying CTDB_RECOVERY_LOCK file with quotes is not a problem. It works fine. Please ensure that there are no unprintable characters in the quoted string.
Are you still having this problem?
No update for many years. The configuration file is a shell script snippet so, as already noted, quotes make no difference unless there are weird characters in the quoted string.