[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bacula-devel] Multiple fd plugins in one fileset: Restore problems


for some months bacula trunk code has provided plugins; I was (am) especially 
interested in the fd plugins which let me "dump" arbitrary types of data to 
the backup, including database dumps.

Currently, only a single plugin, bpipe, is included in bacula; it is exactly 
what I need.

When a fileset includes multiple "plugin" lines, restoring these dumps results 
in various interesting bugs/erros.

My test setup:
3 "output/backup scripts":
~~~~~~~ out 1 ~~~~~~

echo 'hello world 1'
(out2/3 identical, but saying "hello world 2/3" respectively)

Another 3 "input/restore scripts":
~~~~~~ in1 ~~~~~~~~~~~

date > /tmp/tstfile1
cat - > /tmp/outputfile1

A fileset with these 3 pairs:

FileSet {
  Name = "testset"

  Include {
    Options {
      signature = MD5
      noatime = yes
      aclsupport = yes


plugin="bpipe:myname1:/path/to/out1:__RESTORE_LOCATION__=%w /path/to/in1"
plugin="bpipe:myname2:/path/to/out2:__RESTORE_LOCATION__=%w /path/to/in2"
plugin="bpipe:myname3:/path/to/out3:__RESTORE_LOCATION__=%w /path/to/in3"

Backing up this file set, I can find the strings "hello world 1/2/3" in the 
resulting volume file; they are preceded by what seems to be a sensible 
header that includes the "plugin" statement.

Restoring now becomes a problem, though:

(1) Restoring the file, and all three pipe plugins (does not work)
No error messages, no crashes.
/tmp/outputfile1 is empty (0 bytes)
/tmp/outputfile2 is empty (0 bytes)
/tmp/outputfile3 is restored correctly and now includes the string "hello 
world 3"
/tmp/tstfile{123} exist and contain a current date
/path/to/out1 exists, and contains the correct data

(2) Restoring no file, all three pipes (does not work)
Error messages:
29-Sep 14:48 bilbobox4-fd JobId 2485: Error: restore.c:294 Logic error: output 
file should be open
29-Sep 14:48 bilbobox4-fd JobId 2485: Error: restore.c:294 Logic error: output 
file should be open

/tmp/outputfile{12} are empty
/tmp/outputfile3 is restored correctly
/tmp/tstfile{123} exist and contain a current date

(3) Restoring only "myname1" (DOES work!)
No error messages, no crashes.
/tmp/outputfile1 is restored correctly
/tmp/tstfile1 contains a current date
Everything is good!

(4) Restoring "myname1" and "myname2" (does not work)
29-Sep 14:55 bilbobox4-fd JobId 2490: Error: restore.c:294 Logic error: output 
file should be open

/tmp/outputfile1 is empty
/tmp/outputfile2 is restored correctly
/tmp/tstfile{12} are fine

(4) Restoring only "myname2" (or "myname3") (does not work)
FD Crashes with seg fault:

bilbobox4-fd: restore.c:667-2488 restore stream_plugin_name=0 0
Kaboom! bacula-fd, bilbobox4-fd got signal 11 - Segmentation violation. 
Attempting traceback.
Calling: /data/home/b/bastian/AppKit/common/misc/bacula/bacula-2.5-20080926svn/src/filed/btraceback /data/home/b/bastian/AppKit/common/misc/bacula/bacula-2.5-20080926svn/src/filed/bacula-fd 

Restore job fails with
29-Sep 14:59 bilbobox4-dir JobId 2491: Fatal error: Network error with FD 
during Restore: ERR=No data available
29-Sep 14:59 bilbobox4-dir JobId 2491: Fatal error: No Job status returned 
from FD.

/tmp/tstfile2 and /tmp/outputfile2 are NOT created (not even 0 bytes).


I suspect that the problem is comparable to the ACL restore bugs reported some 
days ago: While there is a stream restored, there is no "regular" file name 
associated with it, and similar: the job crashes.

Any idea?

Thx & best regards

Collax GmbH . Burkheimer Straße 3 . 79111 Freiburg . Germany
p: +49 (0) 761-45684-24
f: +49 (0) 761-45684-10        www.collax.com

Geschäftsführer: William K. Hite / Boris Nalbach
AG München HRB 158898 . Ust.-IdNr: DE 814464942
\ God I want patience, and I WANT IT NOW!

This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
Bacula-devel mailing list

This mailing list archive is a service of Copilot Consulting.