From: Mantis B. T. <no...@bu...> - 2013-06-16 20:32:23
|
The following issue has been SUBMITTED. ====================================================================== http://bugs.bacula.org/view.php?id=2012 ====================================================================== Reported By: mastermind Assigned To: ====================================================================== Project: bacula Issue ID: 2012 Category: Director Reproducibility: always Severity: major Priority: normal Status: new ====================================================================== Date Submitted: 2013-06-16 21:32 BST Last Modified: 2013-06-16 21:32 BST ====================================================================== Summary: reloading the director while a backup is in progress causing duplicate jobs Description: we are currently in the process of implementing bacula for the postgresql.org infrastructure, during initial testing we noticed that some of our backups are actually running twice at almost the same time. Further investigation showed that only jobs running at even hours are affected, which coincidences with the interval we autogenerate our backup configuration. What we do there is basically using an include directive in bacula-dir.conf like: @|"/bin/sh -c 'for f in /etc/bacula/conf.d/*.conf ; do echo @${f} ; done'" and generating the configuration file for each host automatically, once that is done we invoke bacula-dir -t to test the new file, if that succeeds we mv(1) the old file to a backup location and mv(1) the new one in place, afterwards we proceed to the next configuration file. once all succeeded in generation and verification we send a "reload" (ie HUP) to the director. this whole process takes around 3 seconds, the problem is that if a backup for any of the clients is in progress another one will be scheduled 3-4 seconds after the original one essentially resulting in two completely identical backups being scheduled and run in parallel... Steps to Reproduce: 1. configure a dynamic include in your director configuration 2. start a backup run for that client 3. while the backup in progress, replace the configuration with an identical one and send a HUP to the director Additional Information: all boxes are on 5.2.6 (either from debian wheezy or for squeeze backports), all components are using TLS ====================================================================== Issue History Date Modified Username Field Change ====================================================================== 2013-06-16 21:32 mastermind New Issue ====================================================================== |