Bug 9943 - CTDB_RECOVERY_LOCK example in ctdb.sysconfig may lead to problems
Summary: CTDB_RECOVERY_LOCK example in ctdb.sysconfig may lead to problems
Alias: None
Product: CTDB 2.5.x or older
Classification: Unclassified
Component: ctdb (show other bugs)
Version: 2.1
Hardware: All All
: P5 normal
Target Milestone: ---
Assignee: Amitay Isaacs
QA Contact: Samba QA Contact
Depends on:
Reported: 2013-06-11 07:32 UTC by Marcin Garski
Modified: 2017-10-26 03:36 UTC (History)
1 user (show)

See Also:


Note You need to log in before you can comment on or make changes to this bug.
Description Marcin Garski 2013-06-11 07:32:30 UTC
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.
Comment 1 Amitay Isaacs 2013-10-23 01:29:14 UTC
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?
Comment 2 Martin Schwenke 2017-10-26 03:36:15 UTC
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.