Re: Director 9.6.7 died on a duplicate Path entry

Eric Bollengier via Bacula-devel <[email protected]>
Newsgroups gmane.comp.sysutils.backup.bacula.devel
Message-ID <[email protected]>
Hello Phil,

On 12/17/20 11:21 PM, Phil Stracchino wrote:
>
> 16-Dec 04:39 minbar-dir JobId 28076: Fatal error: sql_create.c:589
> Create db Path record INSERT INTO Path (Path) VALUES
> ('/usr/src/linux-5.10.1-gentoo/include/linux/fsl/') failed.
> ERR=Duplicate entry '/usr/src/linux-5.10.1-gentoo/include/linux/fsl/'
> for key 'Path'
> 16-Dec 04:39 minbar-dir JobId 28076: Fatal error: catreq.c:664 attribute
> create error. ERR=sql_create.c:589 Create db Path record INSERT INTO
> Path (Path) VALUES ('/usr/src/linux-5.10.1-gentoo/include/linux/fsl/')
> failed. ERR=Duplicate entry
> '/usr/src/linux-5.10.1-gentoo/include/linux/fsl/' for key 'Path'
>
>
> I'm going to guess maybe a race condition occurred between separate
> threads where two jobs happened to try to write the same Path at the
> same time.  This is a low-probability failure, but should we consider
> doing an INSERT IGNORE or REPLACE INTO here?
>

This is a strange error, it would mean that you don't use the Batch 
insert mode

in your job, because we don't insert Path records one by one (Maybe in bscan

in some cases). With Batch sessions, you should not have duplicates.


Note that with MySQL, you can have a duplicate issue because the index is

based on the first 255 characters, and if your path is very long it 
might raise

an error like this (but I'm not sure if we have declared the index unique).


Best Regards,

Eric
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.