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
