Hello,
Last night I released two Beta version of Bacula source and Win32 binaries to
Source Forge. The first is Bacula version 2.2.9-b7, which is the seventh in
the series of 2.2.9 beta release (b5 was never released). This version has a
few additional fixes to the prior 2.2.9 beta release:
- Close bat console windows first to eliminate error message
from the notifier.
- Remove useless code in Scheduler that causes seg fault on
termination.
- Correct some SD catalog request error messages.
- Don't allow pruning of any running job.
- Turn off code in read_record that causes a seg fault in the SD
when reading past an EOS_LABEL.
- Turn off unloading the autochanger in reserve.c as it just
causes problems.
- Lock volumes when unreserving a device.
- Do not mark volume unused when recycling.
- When acquiring, don't mark volume unused if it is reserved (busy).
In short, if you are using a Bacula 2.2.9 beta version, this one should be an
improvement.
As some of you have experienced first hand, Bacula is being used in situations
that stress its current capabilities -- particularly when running large
numbers of simultaneous backups on multiple drive autochangers. The main
problem occurs when Bacula has reserved a particular drive and wants a tape
that is on another drive. This often leads to deadlock situations or job
failures. Fortunately this seems to be limited to a relatively small set of
users, but on the other hand, they are *big* users so the problem can cause
50 or more jobs to fail. This problem is described in bug #1053, and I have
spent a huge amount of time working on it, analyzing the problems, and
patching all to little or no avail.
As a consequence, I am not really very happy with the 2.2.9 beta versions, and
hence have never officially released it.
I finally came to the conclusion that it was fruitless to continue trying to
patch it, so I spent 2 weeks making significant changes to the volume
management routines in the SD, and ended up with something that though not a
true solution is a big improvement and much simpler. It involves something
line 2,900 lines of changes to 2.2.9-b7, so I have renumbered it 2.2.10-b1,
and this is the second release that I made last night.
2.2.10-b1 is significantly better at passing the regression tests than 2.2.9.
However, with 2,900 lines of changes, we can expect some problems. So I
recommend that anyone that is having problems with 2.2.9 on multiple drive
autochangers (or bug #1053) to try with caution version 2.2.10-b1.
The changes to this version are:
kes Permit multiple simultaneous restores -- experiment.
kes Backport development stream SD reservation system changes.
See below:
===
kes Move final volume swapping code to DCR method and
call it from acquire_for_read().
kes When wrong volume is mounted during read, unload_autochanger.
kes Stop searching for Volumes in SD askdir if DIR returns the
same volume name twice in a row.
kes Tweak the swap Volume from one drive to another code so that
it now seems to work.
kes Resolve several problems with recycling that broke the new
code (these problems are in 2.2.9 as well).
kes Remove the volume lock when calling the sysop code.
kes Don't mark a reserved volume with no writers as unused otherwise
jobs fail.
kes Rework class structures for VOLRES, DCR, and DEVICE to make
the method names a bit more logical, and for more logically
handling the responsibilities.
kes Remove redundant code in terminating the scheduler that just
causes a seg fault in many cases.
kes Cleanup releasing a volume and make it a DCR method.
kes Improve algorithm for detecting pre-reserved volume and
swapping volumes.
kes Tweak volume swapping code so it works.
kes Correct name overloading in mount.c
kes Replace released flag in VOLRES with reserved and add access
methods for the VOLRES class.
kes Prevent volume from being released while being swapped.
kes Refactor parts of stored/mount.c
ebl Add sanity checks for VolWriteTime and VolReadTime
ebl Take care of bad clock changes while computing VolWriteTime
and VolReadTime. This should fix or limit #1066
kes Correct error string numbers in dird/catreq.c
kes Restructure reserving, acquiring, and mounting volumes. Calls to
autochanger are deferred for mount.c -- simplifes the code.
kes Do not prune any running job. It just fails the job.
kes Lock the volumes when changing dev->reserved_device and marking
the volume unused otherwise the device can get reserved by
another job before the volume is released, thus blocking it.
===
I would particularly appreciate feedback on version 2.2.10 (send your comments
directly to me or to the bacula-devel list).
Vacation:
I will be on vacation from 20-27 April in Cameroon, so will be definitely out
of touch the project and my email for that time.
Unfortunate tendencies:
Eric Bollengier just brought the following information to my attention:
http://jcole.us/blog/archives/2008/04/14/just-announced-mysql-to-launch-new-features-only-in-mysql-enterprise/
Summary, MySQL is going to have two versions: one Open Source, and one
Enterprise (for $$$) with more features.
This is not really unexpected, because we have already seen companies such as
Zmanda making proprietary "Enterprise" additions to Amanda. However, it is
something that I consider terribly unfortunate both for the Open Source
community which will be deprived of important features, largely based on work
they have done, and also for the Enterprise market that will receive
inferior "proprietary" code because it has not been reviewed and tested by
Open Source users.
You might be aware that Bacula is quickly entering the Enterprise market, and
that we have been working on providing professional support, training, and
consulting services for Bacula to promote Enterprise use of Bacula. We hope
to officially announce this within the next month, and remind you that I have
send several detailed emails on this in the past, so for the moment, if you
have any questions, please refer to those emails. The most complete was an
email I sent on 16 July 2007 (see gmane or other email archive). The only
significant change to that email is that we are not currently looking for
additional founders, but will probably be looking for employees shortly.
You might ask if Bacula will go the direction of Zmanda, MySQL, and others.
My answer is that I cannot imagine it for three reasons: 1. I have
transferred the copyright to the Free Software Foundation Europe, which
basically prevents anyone but the original authors from creating proprietary
versions. 2. The new company is committed to having ensuring that
functionally the Community version == Enterprise version. There will be
minor differences in the branding (i.e. clearly indicate the binary was
created by the company) and in the testing done. 3. I am and have been
thoroughly committed and dedicated to Open Source for at least 10 years now.
I hope this will reassure and satisfy the Open Source community and the
Enterprise market concerning Bacula's future, but it surely won't please big
corporations or VCs looking to snap up Open Source software projects and take
them private.
Best regards,
Kern
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Bacula-users mailing list
Bacula-users AT lists.sourceforge DOT net
https://lists.sourceforge.net/lists/listinfo/bacula-users
|