On Wed, Apr 22, 2009 at 12:06:13PM +0200, Kern Sibbald wrote:

> Since this is a design issue, it is always better to discuss it a
> bit on the list before starting the implementation.

I sent a feature request to bacula-users a week ago, but saw no
comments.  Got impatient and coded it.  Probably should have sent the
feature request to -devel also.

http://www.mail-archive.com/bacula-us...@lists.sourceforge.net/msg34712.html

Hmm.  Apparently there was a comment, but it didn't show up in my
email:

http://www.mail-archive.com/bacula-us...@lists.sourceforge.net/msg34721.html

Oops.  I didn't know about "Reschedule On Error", and probably would
not have bothered with my patch had I known about it.  It doesn't let
jobs "float" the way that polling can, but it's a better solution to
the laptop problem.  Something like that would have been my first
choice, but a polling solution seemed more achievable given the
MaxDiffInterval framework.

> We currently have an Admin job, which is meant to be used much like
> you want to do a Poll.

The promotion code in get_level_since_time is called by
do_backup_init, which appears to only be executed for jobs of type
JT_BACKUP.  An Admin job is of type JT_ADMIN, no?

I also find it conceptually intuitive that the Poll/Check is really a
form of backup.  We're executing polls because we're expecting they
will sometimes be promoted.  Promotion normally happens from one
backup level to another backup level.  So a poll fits in as a
degenerate backup level -- a backup level that normally backs up the
empty set of files, unless it gets promoted.  To make this more
intuitive, it might make more sense to call this level the "Empty"
level, analagous and opposite to the "Full" level.

> Yes, I see the usefulness of what you are implementing, and it
> should be clear that I would like to put it in.  However, I would
> like you to see if you can do the same thing by extending the
> existing Admin job without creating another job type.  The problem
> with an Admin is defining the syntax and semantics of how it would
> check a particular job.  Perhaps just a new directive:

>    CheckJobIntervals = <job name> [, <job name> ...]
> 
> It would check the intervals for the named job(s) and start the appropriate 
> one.

I'm sure this could be done.  But it seems less intuitive than just
treating this as an empty backup level.  Also, what happens if more
than one job needs to be promoted -- can the admin job somehow spawn a
job for each one?

> One last point, since there is a high probability that we will be
> using some form of your code, would you go to: www.bacula.org ->FSFE
> License and fill out the copyright assignment forms and send them
> into the address indicated?

Will do.

- Morty

------------------------------------------------------------------------------
Stay on top of everything new and different, both inside and 
around Java (TM) technology - register by April 22, and save
$200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco.
300 plus technical and hands-on sessions. Register today. 
Use priority code J9JMT32. http://p.sf.net/sfu/p
_______________________________________________
Bacula-devel mailing list
Bacula-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-devel

Reply via email to