On Monday 10 September 2007 00:56, Frank Sweetser wrote:
> Kern Sibbald wrote:
> > Hello,
> >
> > I regret to have to announce that there is a rather serious bug in
> > Bacula.
>
> Well, at least you've got a fix for it =)

Yes.  As ugly as it was, once I identified the problem, the fix was rather 
obvious and not too invasive.

>
> > 8. The data is correctly stored on the Volume, but incorrect index
> > (JobMedia) records are stored in the database.  (the JobMedia record
> > generated during the Volume change contains the index of the new Volume
> > rather than the previous Volume).
>
> This implies to me that a purge and bscan should result in a fixed catalog;
> correct?

Yes, though you will need a fixed version of bscan or it will have the same 
problem I fear. Although, it should work, and I will test and report on it a 
bit later, I don't think I will recommend such a procedure because bscanning 
does not restore all the information in the catalog.  It could be done to 
create a second catalog that you could use just for restores though ...

>
> > I have uploaded patches to bug #935 (bugs.bacula.org) that will correct
> > version 2.2.0, 2.2.1, and 2.2.2.  The patch has been tested only on
> > version 2.2.2 and passes all regression tests as well as the specific
> > test that reproduced the problem.
>
> Is this patch and/or a regression test that reproduces the bug available in
> SVN head?  If so, I'll run it through my test systems and let you know how
> it goes.

There is a regression test in <regress>/tests/multi-client test that will 
demonstrate the problem *if* you set it up correctly.   I'll document it a 
bit later after I have thought out all the ramifications of this problem and 
documented the details.

Basically, you need to setup 4 hosts and their file and passwords in your 
config file.  The last host must be defined, but is not used.  The size of 
the directory to be backed up is important because the first host is the name 
of the host on which you are running the test, and its data must be split 
over the two volumes.

Here is an example of my config file (the end after the OPENSSL= ...)

HOST="rufus"

hostname="rufus"
hostname_files="/home/kern/bacula/k"
hostname1="roxie"
hostname1_files="/home/kern/bacula/k"
hostname1_password="xxx"
hostname2="lmatou"
hostname2_files="/home/kern/bacula"
hostname2_password="yyy"
hostname3="tibs"
hostname3_files="c:/cygwin/home/kern/bacula/k"
hostname3_password="zzz"


As I mentioned "rufus" is the name of the machine on which you are running the 
test.  I believe that you cannot use "localhost", but for the normal tests 
HOST *must* be set to "localhost" for the TLS test to work.
hostname3 must be defined, but is not actually used.  hostname1, hostname2, 
and hostname3 (not used) are assumed to be production hosts so are contacted 
on port 910x rather than the normal regression port of 810x.

Sorry, that is a bit sketchy, but you might be able to get it going from 
there.  The bug shows up in all 2.0.x and later releases.  It is fixed in 
branch Branch-2.2 or there are the patches attached to the bug report.

Regards,

Kern

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Bacula-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bacula-devel

Reply via email to