2008/9/5 Kern Sibbald <[EMAIL PROTECTED]>:
>From what I understand, it *does* work, but just slowly. It is not correct to
>say that nothing is done. It has been working and doing its job it may have
>even been removing orphaned records in this time.
No. This is not a work.
Mysql all the time (3 days) performs the same request:
SELECT File.FileId, Job.JobId FROM File LEFT OUTER JOIN Job ON
(File.JobId = Job.JobId) WHERE Job.JobId IS NULL LIMIT 300000;
Orphaned records are not deleted.
There was a difference between 3 days and 3 minutes.
dbcheck does not solve the problem of disk space and you as a
developer, it should be well known.
> I don't see that there was any need for a reply. You know the solution for
> you. Create the index, or write a script that
creates it, runs dbcheck and then removes it.
When I first encountered a problem, I do not wrote.
And the problems not only to me. See bacula-users.
> If someone submits a patch to dbcheck that improves it and makes it
> automatic, all the better.
So I made the desired patch.
And you asked: whether to embed the code dbcheck.c code, which depends
on a specific database.
I do not ask you to do the work. I ask the council. Maybe later I can
still do some useful patch.
But I need to start something.
> This is an Open Source program. You know your solution -- create an index.
I made the desired patch.
And I asked you: whether to embed the code dbcheck.c code, which
depends on a specific database?
Since in the other database - (probably?) all OK.
I do not ask you to do the work. I ask the council. Maybe later I can
still do some another useful patch for bacula. But I ne
ed to start something.
We can go for the easiest way: include an appropriate comment in the
file src/cats/make_mysql_tables.in after rows
CREATE TABLE File... They already have a similar comment.
Such pacht I have already sent.
It is hard to do?
2008/9/5 Kern Sibbald <[EMAIL PROTECTED]>:
> Hello,
>
> On Thursday 04 September 2008 20:24:29 Yuri Timofeev wrote:
>> Hi
>>
>> Some time ago I received a problem - dbcheck does not work with options:
>
> From what I understand, it *does* work, but just slowly.
>
>>
>> 8) Check for orphaned File records
>> 9) Check for orphaned Path records
>>
>> dbcheck worked 3 days and nothing is done. I stopped dbcheck (ctrl+c)
>> and restart MySQL.
>
> It is not correct to say that nothing is done. It has been working and doing
> its job it may have even been removing orphaned records in this time.
>
>>
>> I explain what I need dbcheck:
>>
>> If you do not have enough space on the disk, the bacula (all versions)
>> *very* bad handles this situation.
>
> If you do not have enough disk space on your system, practically every program
> that exists will have problems, and Bacula does nee a lot of storage.
>
>> And this is another big problem. With the shortage of disk space
>> bacula could damageв Volumes.
>> I saw it many times.
>
> Running dbcheck is not going to resolve a disk shortage problem. It may free
> up space in your catalog, but that space will remain unless you explicitly
> compact your catalog as documented in the manual.
>
>>
>> So I had to check the database Catalog for orphaned File records and
>> orphaned Path records.
>
> In my opinion, there are better ways of freeing up space, including compacting
> your database.
>
>>
>> The time by pass and in maillist bacula-users described the same situation:
>>
>> [Bacula-users]
>> From: Ryan Novosielski <[EMAIL PROTECTED]>
>> Date: 18/08/08 17:18
>> Subj: Bacula 2.2.8, dbcheck never completes
>>
>> And I and Ryan Novosielski use DBMS MySQL. I empirically determined
>> that the need to create an index
>> CREATE INDEX idxFJ ON File (FileId, JobId);
>>
>> After that dbcheck works VERY quickly.
>> I described the decision [Bacula-users] and [Bacula-devels].
>>
>> My proposals were as follows:
>> *** include an appropriate comment in the file
>> src/cats/make_mysql_tables.in after rows
>> CREATE TABLE File...
>> (They already have a similar comment.)
>>
>> I received a reply - no.
>
> I don't see that there was any need for a reply. You know the solution for
> you. Create the index, or write a script that creates it, runs dbcheck and
> then removes it.
>
> As we previously explained, items such as indexes are up to the user to manage
> in general. If someone submits a patch to dbcheck that improves it and makes
> it automatic, all the better.
>
>>
>> *** Describe the problem and solution in the documentation, for
>> example, in section Troubleshooting.
>>
>> At this suggestion, I also did not receive the normal response.
>>
>> *** I studied the source code dbcheck.c and concluded that there can
>> not insert the code, which will depend on the particular DBMS (in this
>> case - MySQL).
>>
>> Understand ?
>
> No.
>
>>
>> Conclusion: there is a problem, but to eliminate it, no one will be?
>> Let the problem exists and further? Or how?
>
> This is an Open Source program. You know your solution -- create an index.
>
> Most of the users of Bacula are hard working sysadmins with many of their own
> priorities. They are not there to actively work on Bacula but do help users
> find solutions to problems.
>
> Some of us like myself work full time for *free* on projects that the users
> have voted to be the most important. Most like myself are generally totally
> overloaded. We are not complaining, but for programs such as dbcheck that
> are not at all critical and should not be needed to run more than once a
> year, we can only offer advice, which is what we have done.
>
> At least it is free and you have the source code, and you have received a good
> deal of feedback.
>
> Best regards,
>
> Kern
>
>>
>> Thanks.
>>
>> 2008/9/3 Kern Sibbald <[EMAIL PROTECTED]>:
>> > On Wednesday 03 September 2008 08:22:31 Yuri Timofeev wrote:
>> >> Hi
>> >>
>> >> 2008/8/31 Eric Bollengier <[EMAIL PROTECTED]>:
>> >> > If you want to use new indexes with dbcheck, you can modify dbcheck.c
>> >> > in this way :
>> >> > - ask to the user if he wants to add them (think about disk space)
>> >> > - add them + run analyse
>> >> > - run the cleanup operation
>> >> > - remove them
>> >> >
>> >> > FYI, postgresql can use composite indexes, so it will require less
>> >> > indexes than mysql.
>> >>
>> >> It seems the problem appears only when working with MYSQL.
>> >>
>> >> I made a small program in order to make temporary index
>> >> CREATE INDEX idxFJ ON File (FileId, JobId);
>> >> and then removes him.
>> >>
>> >> Now I little understand a Bacula API. And there is one problem:
>> >> my source code depends on the DBMS (MySQL).
>> >> And I still do not know how it can be inserted in dbcheck.c
>> >>
>> >>
>> >> If I write (in dbcheck.c) as follows:
>> >>
>> >> # ifdef HAVE_MYSQL
>> >> / * My code uses bacula api * /
>> >> # endif
>> >>
>> >> So it would be wrong, imho, or is this possible?
>> >> Can you suggest any solution?
>> >
>> > Please be specific about the exact MySQL dependencies.
>
>
>
--
with best regards
-------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/bacula-devel