Hello,

Bugs should be reported in the bugs database (see www.bacula.org)
otherwise they risk to get lost in monster INBOXes.

Possibilities to get it fixed:

1. If someone comes up with a nice patch for this, I will be happy to 
apply it.

2. I am extremely overloaded at the current time, so if I am to fix it,
     you will need to be patient.

3. You can get a Bacula Enterprise subscription (www.baculasystems.com),
     then it will get priority (and probably overload me even more ...).

Best regards,
Kern



On 07/29/2013 12:08 PM, Bugbear wrote:
> Hi again,
>
> Any thoughts on this ? Is there some kind of patch or is this
> going to be fixed in some of the future releases ?
>
>
> Regards,
>
> On Tue, 23 Jul 2013 16:21:21 +0300
> Bugbear <gryzli.the.bugb...@gmail.com> wrote:
>
>> Hello guys,
>>
>> I experience race condition if I try to start 2 or more  simulatenous
>> restore jobs (at the very same time). There are 2 temporary tables,
>> which are created during restore, with names "temp" and "temp1". The
>> definition of these tables can be seen here: File: sql_cmds.c (Bacula
>> 5.2.13)
>>
>> ########################
>> File: ~/src/cats/sql_cmds.c
>>
>>
>> 660: const char *uar_create_temp[] = {
>> .....
>> 719: const char *uar_create_temp1[] = {
>> .....
>> ########################
>>
>>
>>
>> The problem is that if I start the jobs at the very same time (which
>> I'm able to reproduce without problem), the race conditions happens
>> and then the restore fails, also giving the following error:
>>
>>
>> ########################
>> Query failed: INSERT INTO temp1 SELECT Job.JobId,JobTdate FROM
>> Client,Job,JobMedia,Media,FileSet WHERE Client.ClientId=1 AND
>> Job.ClientId=1 AND Job.StartTime < '2013-07-23 23:59:59' AND Level='F'
>> AND JobStatus IN ('T','W') AND Type='B' AND JobMedia.JobId=Job.JobId
>> AND Media.Enabled=1 AND JobMedia.MediaId=Media.MediaId AND
>> Job.FileSetId=FileSet.FileSetId AND
>> FileSet.FileSet='internav_shared-fileset' ORDER BY Job.JobTDate DESC
>> LIMIT 1: ERR=ERROR:  relation "temp1" does not exist LINE 1: INSERT
>> INTO temp1 SELECT Job.JobId,JobTdate FROM Client,Job,...
>> ########################
>>
>> I'm also concerned if this race condition could result in restoring
>> wrong files on the wrong place ?
>>
>>
>> I suppose(I'm not familiar with bacula source code) that the simplest
>> resolution would be to append some dynamic (unique) value to the names
>> of these tables (temp$RAND , temp1$RAND2).
>>
>> It seems that there are few more temporary tables, where this problem
>>
>> is considered and the names are dynamically unique, for example:
>> #########################
>> File: ~/src/cats/sql_cmds.c
>>
>> 432: static const char *create_temp_accurate_jobids_default =
>> 433: "CREATE TABLE btemp3%s AS "
>> #########################
>>
>> Regards
> ------------------------------------------------------------------------------
> See everything from the browser to the database with AppDynamics
> Get end-to-end visibility with application monitoring from AppDynamics
> Isolate bottlenecks and diagnose root cause in seconds.
> Start your free trial of AppDynamics Pro today!
> http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
> _______________________________________________
> Bacula-devel mailing list
> Bacula-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bacula-devel
>


------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
Bacula-devel mailing list
Bacula-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-devel

Reply via email to