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

Re: [Bacula-devel] Fwd: [Bacula-users] 64bit for File.FileId


Hello Dan,

We have a patch for that, this is scheduled for the 3.0.0 version.
trunk/patches/testing/fileid64.patch

Modifications are quite simple (postgresql part)

BEGIN;
ALTER TABLE file ALTER fileid TYPE bigint ;
ALTER TABLE basefiles ALTER fileid TYPE bigint;
COMMIT;

The serial counter doesn't need to be modified.

=> This will take time and space (2x the actual db size)

And, also a typedef in src/cats/cats.h
-typedef uint32_t FileId_t;
+typedef uint64_t FileId_t;

which is less critical, but needs to recompile the director.

Bye


Le Friday 07 November 2008 15:23:01 Dan Langille, vous avez écrit :
> Sorry, I meant this for devel@
>
> Begin forwarded message:
> > From: Dan Langille <dan@xxxxxxxxxxxx>
> > Date: November 7, 2008 8:02:13 AM EST
> > To: bacula-users <bacula-users@xxxxxxxxxxxxxxxxxxxxx>
> > Subject: [Bacula-users] 64bit for File.FileId
> >
> > I know I've seen something about moving to BIGSERIAL but don't know
> > where.  Does someone have a patch.
> >
> > Please CC the original poster who would like to fix this before the
> > weekend backups.
> >
> > Begin forwarded message:
> >> From: James Cort <james.cort@xxxxxxxxxxxx>
> >> Date: November 7, 2008 4:50:59 AM EST
> >> To: bacula-users <bacula-users@xxxxxxxxxxxxxxxxxxxxx>
> >> Subject: [Bacula-users] Ran out of fileid's in postgres-backed
> >> database
> >>
> >> I appear to have run out of fileids in my bacula database.
> >>
> >> I'm using bacula 2.2.8-8~bpo40+1  (the Debian Etch backported
> >> package)
> >> and my backups have failed with the error:
> >>
> >> Fatal error: Can't fill File table Query failed: INSERT INTO File
> >> (FileIndex, JobId, PathId, FilenameId, LStat, MD5)SELECT
> >> batch.FileIndex, batch.JobId, Path.PathId,
> >> Filename.FilenameId,batch.LStat, batch.MD5 FROM batch JOIN Path ON
> >> (batch.Path = Path.Path) JOIN Filename ON (batch.Name =
> >> Filename.Name):
> >> ERR=ERROR:  integer out of range
> >>
> >>
> >> I'm using Postgres as the backend and I note from the script which
> >> bacula uses to setup the table "file" that fileid is of type serial.
> >>
> >> bacula=> select max(fileid) from file;
> >>   max
> >> ------------
> >> 2147272756
> >> (1 row)
> >>
> >> 2^31=2147483648
> >>
> >>
> >> Postgresql's documentation states:
> >>
> >> "The type names serial and serial4 are equivalent: both create
> >> integer
> >> columns. The type names bigserial and serial8 work just the same way,
> >> except that they create a bigint column. bigserial should be used if
> >> you
> >> anticipate the use of more than 2^31 identifiers over the lifetime of
> >> the table."
> >>
> >> ... but I'm not too keen on doing this unless I can be sure it won't
> >> have a knock-on effect on Bacula.
> >>
> >> What can I do to fix this?
> >>
> >>
> >> James
> >>
> >> --
> >> U4EA Technologies
> >> http://www.u4eatech.com
> >>

-------------------------------------------------------------------------
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
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Bacula-devel mailing list
Bacula-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/bacula-devel


This mailing list archive is a service of Copilot Consulting.