Bug 11078: QA Follow-up for missing file permissions on lockfile
authorMarcel de Rooy <m.de.rooy@rijksmuseum.nl>
Wed, 19 Feb 2014 12:58:00 +0000 (13:58 +0100)
committerGalen Charlton <gmc@esilibrary.com>
Fri, 28 Feb 2014 22:22:47 +0000 (22:22 +0000)
commit07de37f0e5ea8685573794ff6a84ab30e32f1973
tree04ae7af157342d2fa76f167a09c91314fc22c648
parent88e7faf8600b64884649f8c02104bf848df37a9b
Bug 11078: QA Follow-up for missing file permissions on lockfile

The original patch creates a lockfile in the ZEBRA_LOCKDIR.
It can fall back to /var/lock or even /tmp.
If the create fails, it dies. This can be considered as very
exceptional.

This followup adjusts the fallback location in /var/lock or /tmp
slightly.  It appends the database name to the folder in order to
prevent interfering between multiple Koha instances. Creation of the
lockfile has been moved to a subroutine extending directory and file
creation testing.

In the very unlikely case that we cannot create the lockfile (after
three separate tries), this follow-up allows you to continue instead
of die.  This is just as we did before we had file locking here. Every
time skipping a reindex could cause more harm than continuing and
having the race condition once in a while.

Test plan:
Test adding and removing lockdir from your koha-conf.xml. Check fallback.
Note that fallback in /var/lock or /tmp must contain database name.
Remove the lockdir config line and remove permissions from fallback. In
this case the reindex should continue but with a warning.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Tested with daemon and one-off invocation simultaneously.
Tested new wait parameter.
Tried all variations of lock directory (changing permissions etc.)

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
misc/migration_tools/rebuild_zebra.pl