>>>>> On Thu, 20 Nov 2014 17:48:56 -0500, Bill Arlofski said: > > On 11/19/2014 11:47 AM, Martin Simmons wrote: > >>>>>> On Tue, 18 Nov 2014 17:34:18 -0500, Bill Arlofski said: > >> > >> On 11/18/2014 07:50 AM, Dante Colo wrote: > >>> Hello Heitor > >>> > >>> I tried but wasn't the case, anyway thank you for the suggestion. > >> > >> re: Adding Ignore Fileset Changes = Yes option in fileset. > >> > >> If you add that to a fileset, it will take affect after the first full of > >> that > >> newly modified fileset is complete. > >> > >> I say "newly modified fileset" because by adding that option, you are in > >> fact > >> changing the fileset, and Bacula will think it needs to run a full. > > > > I don't think that is true. The fileset md5 doesn't include boolean options > > like Ignore Fileset Changes. > > > > __Martin > > Hi Martin, > > while testing this out the other day (in an effort to make sure I was correct > before posting :) I ran into an interesting thing. > > I made sure all jobs were not running, and that the last run for job I was > going to use in my test had completed OK. It was an incremental earlier that > day. > > I manually started an Incremental of that job, and it ran as an Incremental - > so far so good. > > Then I edited the Fileset for that job, and only added a "#" to comment out > the Ignore Fileset Changes = Yes that I had in there since the beginning and > saved the Fileset. > > I then issued a "reload" in bconsole and started the job again as Incremental > and it auto-upgraded it to Full due to "No prior Full backup Job record > found". > > After going back and forth a few times on this, and then checking the Fileset > in the db, I realized that it was not being updated until/unless I edited the > Include {} stanza. (just as you had mentioned in your reply) > > This made no sense to me because if the Fileset's MD5, nor CreateTime are not > changing, and a new record for that Fileset is not being created, I could not > understand how Bacula is determining that it needs to run a full. > > > So, after seeing your response, and thinking about what I must have done wrong > the other day, today I tried the process over - carefully. > > And sure enough, I ran a manual incremental, then edited the Fileset and > (only) added "#" in front of the "Ignore Fileset Changes = Yes" in my > fileset, then issued a reload and attempted another incremental and Bacula > upgraded it to Full due to "No prior Full Job record found" > > As you can see, my db shows no new changes to that fileset today, but it seems > Bacula is using something else to make the upgrade determination. > > > mysql> select * from FileSet WHERE FileSet LIKE 'ups%'; > +-----------+-------------------+------------------------+---------------------+ > | FileSetId | FileSet | MD5 | CreateTime > | > +-----------+-------------------+------------------------+---------------------+ > | 60 | upsmonFullFileSet | 2HsumTUBV++T5yE8q5RW7A | 2014-11-18 > 17:32:55 | > | 59 | upsmonFullFileSet | K+/HI8wAIXQPJl+626FcAC | 2014-11-18 > 17:24:12 | > | 57 | upsmonFullFileSet | 6jcy46+Z3hIPR5o9+D/0bD | 2014-11-18 > 17:21:38 | > | 58 | upsmonFullFileSet | a3tIy5BQ96c/E88+nk/CGA | 2014-11-18 > 17:23:24 | > +-----------+-------------------+------------------------+---------------------+ > 4 rows in set (0.00 sec) > > > > Thoughts? Comments? Help? :)
I suspsect it is a bug in the code to handle the "Ignore Fileset Changes" option. The code looks for the FileSetId to be used as follows: if (!jcr->fileset->ignore_fs_changes || !db_get_fileset_record(jcr, jcr->db, &fsr)) { if (!db_create_fileset_record(jcr, jcr->db, &fsr)) { Jmsg(jcr, M_ERROR, 0, _("Could not create FileSet \"%s\" record. ERR=%s\n"), fsr.FileSet, db_strerror(jcr->db)); return false; } } jcr->jr.FileSetId = fsr.FileSetId; There are two cases: 1) "Ignore Fileset Changes = Yes": db_get_fileset_record is called to find an existing record, but that ignores the md5 of the current fileset and always returns the newest record in the catalog. As a result, Bacula will look for a prior full backup with FileSetId 60. 2) "Ignore Fileset Changes = No": db_get_fileset_record is not called, so we reach the call to db_create_fileset_record. This also looks for an existing record, but does check the current md5. As a result, Bacula will look for a prior full backup with FileSetId 57, 58 or 59. My guess is that you do have a full backup for the FileSetId selected in case 2, but not in case 1. __Martin ------------------------------------------------------------------------------ Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration & more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk _______________________________________________ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users