• Doug Kingston's avatar
    Bug 11078: Add locking to rebuild_zebra · 88e7faf8
    Doug Kingston authored
    This patch adds locking to rebuild_zebra.pl to ensure that simultaneous
    changes are prevented (as one is likely to overwrite the other).
    Incremental updates in daemon mode will skipped if the lock is busy
    and they will be picked up on the next pass.  Non-daemon mode
    invocations will also exit immediately if they cannot get the lock
    unless the new flag -wait-for-lock is specified, in which case they
    will wait until the get the lock and then proceed.
    Supporting changes made to Makefile.PL and templates for the new
    locking directory (paralleling the other zebra lock directories).
    We stash the zebra_lockdir in koha-conf.xml so rebuild_zebra.pl
    can find it.
    To address earlier QA concerns we:
    1. added code to check if flock is available and ignore locking if
    it's missing (from M. de Rooy)
    2. changed default for adhoc invocations to abort if they cannot
    obtain the lock.  Added option -wait-for-lock if the user prefers
    to wait until the lock is free, and then continue processing.
    3. added missing entry to t/db_dependent/zebra_config.pl
    4. added a fallback locking directory of /tmp
    Signed-off-by: default avatarMarcel de Rooy <m.de.rooy@rijksmuseum.nl>
    Doug merged the original patch with the QA changes.
    Just for the record, noting here that the original patch was tested
    extensively too by Martin Renvoize.
    I have added a followup for some exceptional cases.
    Signed-off-by: Galen Charlton's avatarGalen Charlton <gmc@esilibrary.com>
Last commit
Last update
var Loading commit data...
README Loading commit data...