[Box Backup] RaidFileException on server

Chris Wilson boxbackup@fluffy.co.uk
Tue, 6 Nov 2007 21:43:25 +0000 (GMT)


Hi Guno,

On Tue, 6 Nov 2007, Guno Heitman wrote:

> Since a while I'm having some trouble with the connection between my box 
> client and my box server. To get more insight into where the problem 
> lies, I compiled the debug version of bbstored. Now as soon as I start 
> the executable the following log message is written:
>
> TRACE: Exception thrown: RaidFileException(RaidFileDoesntExist) at 
> RaidFileRead.cpp(1048)
>
> This might well be the source of my problems, but as I'm not really a 
> c++ expert, I've been unable to identify the reason for the exception to 
> be thrown. I guess it might have something to do with bbstored being 
> unable to find/read my raidfile.conf, but the _bbstored user has read 
> permissions on the file, and the path in bbstored.conf that points to 
> raidfile.conf seems correct as well.

Sorry, that won't work. The debug version of bbstored uses a different 
file layout in order to stress test the directory code, so the stores it 
creates are completely incompatible with the normal stores.

If you really want to run a debug bbstored, it is possible to hack it to 
use the normal store format. I would NOT recommend this for any kind of 
production use, and PLEASE take a backup of your entire store first if it 
contains important data. Edit lib/backupstore/StoreStructure.h and change 
the following lines:

#ifdef NDEBUG
         #define STORE_ID_SEGMENT_LENGTH         8
         #define STORE_ID_SEGMENT_MASK           0xff
#else
         // Debug we'll use lots and lots of directories to stress things
         #define STORE_ID_SEGMENT_LENGTH         2
         #define STORE_ID_SEGMENT_MASK           0x03
#endif

to this:

#if 1 // <---- change this line
         #define STORE_ID_SEGMENT_LENGTH         8
         #define STORE_ID_SEGMENT_MASK           0xff
#else
         // Debug we'll use lots and lots of directories to stress things
         #define STORE_ID_SEGMENT_LENGTH         2
         #define STORE_ID_SEGMENT_MASK           0x03
#endif

and recompile bbstored.

> Oh btw, I'm using v0.10.

If possible, please could you test with the latest trunk instead? It will 
soon become 0.11 and we could use all the help with testing that we can 
get.

Cheers, Chris.
-- 
_____ __     _
\  __/ / ,__(_)_  | Chris Wilson <0000 at qwirx.com> - Cambs UK |
/ (_/ ,\/ _/ /_ \ | Security/C/C++/Java/Perl/SQL/HTML Developer |
\ _/_/_/_//_/___/ | We are GNU-free your mind-and your software |