On 12/14/2009 10:00 PM, John Jorgensen wrote:
>>>>>> "bruno" == Bruno Friedmann <[email protected]> writes:
>
> bruno> ok I've try and only get this on the two proposed
>
> bruno> strings /usr/sbin/bacula-dir | grep batch
> bruno> _Z27db_write_batch_file_recordsP3JCR
> bruno> _Z23db_open_batch_connexionP3JCRP4B_DB
>
> I think that the string that Eric suggested searching for might
> have changed from one release of bacula to another.
>
> So in case you're as far behind the times as our site (we're
> still running Bacula 2.4.3) ...
>
> While I'm pretty sure our old server is doing batch inserts,
> grep'ing for "batch" produces only:
>
> 558 backup $strings /usr/local/bacula/sbin/bacula-dir | grep -i batch
> Cannot select %s in batch mode.
>
> Searching for "temporary" hits though:
>
> 559 backup $strings /usr/local/bacula/sbin/bacula-dir | grep -i temporary
> CREATE TEMPORARY TABLE DelCandidates (JobId INTEGER NOT NULL, PurgedFiles
> SMALLINT, FileSetId INTEGER, JobFiles INTEGER, JobStatus char(1))
> CREATE TEMPORARY TABLE temp (JobId INTEGER NOT NULL,JobTDate BIGINT,ClientId
> INTEGER,Level CHAR,JobFiles INTEGER,JobBytes BIGINT,StartTime TEXT,VolumeName
> TEXT,StartFile INTEGER,VolSessionId INTEGER,VolSessionTime INTEGER)
> CREATE TEMPORARY TABLE temp1 (JobId INTEGER NOT NULL,JobTDate BIGINT)
> 560 backup $
>
> As does looking for the message that I see in bconsole while the
> directory is unbatching the attributes:
>
> 560 backup $strings /usr/local/bacula/sbin/bacula-dir | grep -i inserting
> Inserting first %s res: %s index=%d
> Inserting %s res: %s index=%d pass=%d
> Dir inserting Attributes
>
Thanks John on a 3.0.3 build the temporary search give more instructions
strings /usr/sbin/bacula-dir | grep -i temporary
CREATE TEMPORARY TABLE cpy_tmp AS SELECT MIN(JobId) AS JobId FROM Job WHERE
Type='%c' AND ( PriorJobId IN (%s) OR PriorJobId IN
( SELECT PriorJobId FROM Job WHERE JobId IN (%s) AND Type='B' ) ) GROUP BY
PriorJobId
and in libbacsql.so
strings libbacsql.so.1.0.0 | grep -i temporary
CREATE TEMPORARY TABLE DelCandidates (JobId INTEGER UNSIGNED NOT NULL,
PurgedFiles TINYINT, FileSetId INTEGER UNSIGNED, JobFiles
INTEGER UNSIGNED, JobStatus BINARY(1))
CREATE TEMPORARY TABLE DelCandidates (JobId INTEGER NOT NULL, PurgedFiles
SMALLINT, FileSetId INTEGER, JobFiles INTEGER,
JobStatus char(1))
CREATE TEMPORARY TABLE DelCandidates (JobId INTEGER UNSIGNED NOT NULL,
PurgedFiles TINYINT, FileSetId INTEGER UNSIGNED, JobFiles
INTEGER UNSIGNED, JobStatus CHAR)
CREATE TEMPORARY TABLE temp (JobId INTEGER UNSIGNED NOT NULL,JobTDate BIGINT
UNSIGNED,ClientId INTEGER UNSIGNED,Level
CHAR,JobFiles INTEGER UNSIGNED,JobBytes BIGINT UNSIGNED,StartTime
TEXT,VolumeName TEXT,StartFile INTEGER UNSIGNED,VolSessionId
INTEGER UNSIGNED,VolSessionTime INTEGER UNSIGNED)
CREATE TEMPORARY TABLE temp (JobId INTEGER NOT NULL,JobTDate BIGINT,ClientId
INTEGER,Level CHAR,JobFiles INTEGER,JobBytes
BIGINT,StartTime TEXT,VolumeName TEXT,StartFile INTEGER,VolSessionId
INTEGER,VolSessionTime INTEGER)
CREATE TEMPORARY TABLE temp1 (JobId INTEGER UNSIGNED NOT NULL,JobTDate BIGINT
UNSIGNED)
CREATE TEMPORARY TABLE temp1 (JobId INTEGER NOT NULL,JobTDate BIGINT)
So in this case I can deduct that there's batch-insert enable ..
BUT when I check against a package newly build with --disable-batch-inssert
confirmed by the result of config
Configuration on Wed Dec 16 06:33:02 CET 2009:
Host: i686-pc-linux-gnu -- suse 11.2
Bacula version: Bacula 3.0.3 (18 October 2009)
Source code location: .
Install binaries: /usr/sbin
Install libraries: /usr/lib
Install config files: /etc/bacula
Scripts directory: /usr/lib/bacula
Archive directory: /tmp
Working directory: /var/lib/bacula
PID directory: /var/run
Subsys directory: /var/lock/subsys
Man directory: /usr/share/man
Data directory: /usr/share
Plugin directory: /usr/lib/bacula
C Compiler: gcc Linux)
C++ Compiler: /usr/bin/g++ Linux)
Compiler flags: -O2 -g -msse -mmmx -march=i586 -mtune=i686
-funroll-loops -mfpmath=sse -fmessage-length=0
-fno-strict-aliasing -pipe -fstack-protector -Wall -D_FORTIFY_SOURCE=0
-fno-strict-aliasing -fno-exceptions -fno-rtti
Linker flags: -I/usr/lib -L/usr/lib/termcap
Libraries: -lpthread -ldl
Statically Linked Tools: no
Statically Linked FD: no
Statically Linked SD: no
Statically Linked DIR: no
Statically Linked CONS: no
Database type: MySQL
Database port:
Database lib: -L/usr/lib -lmysqlclient_r -lz
Database name: bacula
Database user: bacula
Job Output Email: r...@localhost
Traceback Email: r...@localhost
SMTP Host Address: localhost
Director Port: 9101
File daemon Port: 9102
Storage daemon Port: 9103
Director User: bacula
Director Group: bacula
Storage Daemon User: bacula
Storage DaemonGroup: disk
File Daemon User: root
File Daemon Group: bacula
SQL binaries Directory /usr/bin
Large file support: yes
Bacula conio support: yes -ltermcap
readline support: no
TCP Wrappers support: yes -lwrap
TLS support: yes
Encryption support: yes
ZLIB support: yes
enable-smartalloc: yes
enable-lockmgr: no
bat support: no
enable-gnome: no
enable-bwx-console: no
enable-tray-monitor: no
client-only: no
build-dird: yes
build-stored: yes
ACL support: yes
XATTR support: yes
Python support: yes -lpthread -ldl -lutil -lm -lpython2.6 -lutil
-lrt
Batch insert enabled: no
I'm getting the same string inside bacula-dir and libbacsql.so ?
CREATE TEMPORARY TABLE cpy_tmp AS SELECT MIN(JobId) AS JobId FROM Job WHERE
Type='%c' AND ( PriorJobId IN (%s) OR PriorJobId IN
( SELECT PriorJobId FROM Job WHERE JobId IN (%s) AND Type='B' ) ) GROUP BY
PriorJobId
strings libbacsql.so.1.0.0 | grep -i temporary
CREATE TEMPORARY TABLE DelCandidates (JobId INTEGER UNSIGNED NOT NULL,
PurgedFiles TINYINT, FileSetId INTEGER UNSIGNED, JobFiles
INTEGER UNSIGNED, JobStatus BINARY(1))
CREATE TEMPORARY TABLE DelCandidates (JobId INTEGER NOT NULL, PurgedFiles
SMALLINT, FileSetId INTEGER, JobFiles INTEGER,
JobStatus char(1))
CREATE TEMPORARY TABLE DelCandidates (JobId INTEGER UNSIGNED NOT NULL,
PurgedFiles TINYINT, FileSetId INTEGER UNSIGNED, JobFiles
INTEGER UNSIGNED, JobStatus CHAR)
CREATE TEMPORARY TABLE temp (JobId INTEGER UNSIGNED NOT NULL,JobTDate BIGINT
UNSIGNED,ClientId INTEGER UNSIGNED,Level
CHAR,JobFiles INTEGER UNSIGNED,JobBytes BIGINT UNSIGNED,StartTime
TEXT,VolumeName TEXT,StartFile INTEGER UNSIGNED,VolSessionId
INTEGER UNSIGNED,VolSessionTime INTEGER UNSIGNED)
CREATE TEMPORARY TABLE temp (JobId INTEGER NOT NULL,JobTDate BIGINT,ClientId
INTEGER,Level CHAR,JobFiles INTEGER,JobBytes
BIGINT,StartTime TEXT,VolumeName TEXT,StartFile INTEGER,VolSessionId
INTEGER,VolSessionTime INTEGER)
CREATE TEMPORARY TABLE temp1 (JobId INTEGER UNSIGNED NOT NULL,JobTDate BIGINT
UNSIGNED)
CREATE TEMPORARY TABLE temp1 (JobId INTEGER NOT NULL,JobTDate BIGINT)
So there's two solutions, the strings are always present, or there's somewhere
a default in sources or build ....
Eric can you recheck about the string on a 3.0.3 pure git trunk ?
What make me in doubt is that bacula-dir/libbacsql with ou without batch
enabled have the same md5sum ?
b9156e6cb7902024c790add0291216bc bacula-dir (without bi)
b9156e6cb7902024c790add0291216bc /usr/sbin/bacula-dir
f01fe8fb42648dae586762b44987bfe1 libbacsql.so.1.0.0 (without bi)
f01fe8fb42648dae586762b44987bfe1 /usr/lib/libbacsql.so.1.0.0
What are the result for you ?
--
Bruno Friedmann
------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev
_______________________________________________
Bacula-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bacula-devel