[Koha-bugs] [Bug 11078] rebuild_zebra.pl can lose updates due to race condition during full rebuilds

bugzilla-daemon at bugs.koha-community.org bugzilla-daemon at bugs.koha-community.org
Mon Feb 17 03:44:40 CET 2014


http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=11078

Doug Kingston <dpk at randomnotes.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #25172|0                           |1
        is obsolete|                            |

--- Comment #61 from Doug Kingston <dpk at randomnotes.org> ---
Created attachment 25330
  -->
http://bugs.koha-community.org/bugzilla3/attachment.cgi?id=25330&action=edit
Bug 11078 Address February QA concerns

This patch should address the concerns raised in the most recent QA.
I believe I have tested all the new code paths here.

1. Add code to check if flock is available and ignore locking if
its missing (from M. de Rooy, modified to pass perlcritic)

2. Change 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

Testing advice:
You can force the various paths of the lockdir logic by
a) removing lockdir location from config file or removing (temporarily)
the zebra lock directory (forcing use of /var/lock)
b) changing mode of /var/lock to be unwritable by others (forcing /tmp)

I use the flock perl command to "take" the lock and then run rebuild_zebra.pl
to make sure it wait or aborts as appropriate.  Typically used something like
flock /var/lock/koha/zebradb/rebuild/rebuild..LCK sleep 60
while you invoke rebuild_zebra.pl in a different window.

I am deleting the patch from Marcel since it failed perlcritic.  I've fixed
the use of eval and included it in my patch.  Thanks Marcel!

-- 
You are receiving this mail because:
You are watching all bug changes.


More information about the Koha-bugs mailing list