Bacula-users

[Bacula-users] Bacula Releases + Status

2008-04-17 06:00:15
Subject: [Bacula-users] Bacula Releases + Status
From: Kern Sibbald <kern AT sibbald DOT com>
To: "bacula-users" <bacula-users AT lists.sourceforge DOT net>
Date: Thu, 17 Apr 2008 11:52:32 +0200
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

<Prev in Thread] Current Thread [Next in Thread>