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