Standalone backup agent for Microsoft Windows servers and workstations (formerly Veeam Endpoint Backup FREE)
Post Reply
m@x
Enthusiast
Posts: 25
Liked: never
Joined: Sep 24, 2020 12:16 am
Full Name: Max Turcan
Contact:

BUG: subsequent full backups during the day are not running.

Post by m@x »

During the product evaluation I've been comparing performance of Active fulls vs Synch fulls, and I came across a strange behavior. It's not as much of a problem for production, because you normally set the job and forget. But for those who evaluate and alter the job settings this could be a huge issue due to unexpected behavior.

First of all, it was important for me to test both options as scheduled jobs rather than Ad-hoc. Mainly because scheduled fulls behave differently (chain is NOT modified). And you cant launch a Synch full manually.

So the plan was to set the job with Active full, record performance, then change to Synch Full, record performance.

1) Started off of a clean slate, no chains. Retention set to 5 recovery points.
2) First job set to run Active Full on Fri at 12:00. The job ran successfully, got an Active full. Recorded performance values.
3) I added 2 incrementals into the pot (unchecked the active full and ran the scheduled job 2 times). Success.
4) Next job set to run Synth Full on Fri at 13:00. The job ran successfully. But to my surprise another incremental was created!
5) Rescheduled to run in 2 minutes, just to confirm the settings. Again, incremental created.
6) Changed the Synth full back to Active full, scheduled for 13:30. Again, incremental created.
7) At the same time I am noticing that my chain is at 6 recovery points now, despite my retention policy set to 5.
8) I schedule another Active jsut to see if another incremental is created and the job keep ignoring my retention of 5. Yes, the chain keeps growing.
9) I uncheck the full backup, effectively scheduling just a normal incremental. Incremental is created and the chain is trimmed to 5 recovery points.
10) I scheduled a Synth Full for Sat 12:01AM. Synth full ran successfully, thus proving my point below.

Assumption: If your job has already run a full today, you won't be getting any more fulls today, even if you change the job settings. The job will run but you'll be getting incrementals instead. And because the scheduled job is configured with a full, your chain will not trim.
Dima P.
Product Manager
Posts: 14417
Liked: 1576 times
Joined: Feb 04, 2013 2:07 pm
Full Name: Dmitry Popov
Location: Prague
Contact:

Re: BUG: subsequent full backups during the day are not running.

Post by Dima P. »

Hello Max,

Next job set to run Synth Full on Fri at 13:00. The job ran successfully. But to my surprise another incremental was created!
Synthetics is created based on the incremental restore point, so first the incremental restore points is created, then we synthesize full backup based on this newly created incremenal restore point.
7) At the same time I am noticing that my chain is at 6 recovery points now, despite my retention policy set to 5.
Just to make sure we are on the same page - agent is running in free/workstation mode or in server mode? For free/workstation mode retention is set in days and not in restore points (so 5 incrementals per day will be counted as one day in terms of retention).
Assumption: If your job has already run a full today, you won't be getting any more fulls today, even if you change the job settings. The job will run but you'll be getting incrementals instead. And because the scheduled job is configured with a full, your chain will not trim.
That's correct and expected - scheduled full active full backup is created only one per day. If you need to create more that single active full backup - you can do that manually (however it's true that you cant trigger the synthetic full backup creation manually).

Cheers!
m@x
Enthusiast
Posts: 25
Liked: never
Joined: Sep 24, 2020 12:16 am
Full Name: Max Turcan
Contact:

Re: BUG: subsequent full backups during the day are not running.

Post by m@x »

Hello Dima,
Hello Max,
Synthetics is created based on the incremental restore point, so first the incremental restore points is created, then we synthesize full backup based on this newly created incremenal restore point.
In this particular case the problem is that the synth full is expected, but only the incremental part is performed. Then the job completes, no synthesize step.
Just to make sure we are on the same page - agent is running in free/workstation mode or in server mode?
I am running Server license (NFR). But I think I get why the chain is not shortened to meet retention policy.

All in all, I think I understand the behavior now, even though it's not what one would expect during evaluation. Please confirm if the following is true, and if that is the case, I suggest these notes be added to the official documentation for future clients.

Again, this is not an ordinary scenario. This happens ONLY when you change the settings of the existing job to see the effects. This happens a lot during the first start and product evaluation.

Backup. If you create a job e.g. [Veeam Test], and initiate a full backup (it doesn't matter how you do it: manual Full, manual Active, scheduled Active or scheduled Synthetic), then no more scheduled fulls (Active or Synth) will run that day. You'd normally create a job, start a manual full (Back up now) and proceed with testing. But if you want to test scheduled Active/Synthetic fulls, then you will have to wait for the next day. Moreover, since it's only one full per day, you'll be able to see Active Full in action tomorrow, and the Synthetic Full the day after tomorrow. And even if you think that changing job schedule settings somehow resets the counter, this is not true. The job still remembers that one kind of a full backup ran today already. You will end up with incrementals only for the rest of the testing day. Even if you change the settings in the job [Veeam Test] from scratch.
I guess a workaround would be creating a separate job (haven't tested though) that doesn't have any fulls "remembered". But that defeats the purpose of evaluation, because new Job = new chain, and your initial goal is to see the effects on the existing chain, not a brand new chain creation.

Retention. As you keep scheduling Active/Synth fulls, but getting only incrementals in return, soon enough you will notice that your chain contains 10 incrementals already. But wait, your retention policy is set to 5 points only (Server license)! So the initial reaction will be: ok, instead of scheduled fulls (active/synth) I am getting continuous incrementals, plus the retention doesn't trim my chain (but with continuous incrementals it must).

I think I know why that happens: even though the job doens't produce any more fulls, still it knows that it is configured with scheduled fulls. Because of that the retention does not modify the chain. It waits for a new full with enough incrementals, then deletes the original chain.

So yes, it's not a bug, everything is logical and makes sense. But it's a hell of confusion for someone who is evaluating the product. I legitimately thought that there was a problem with the software.
Post Reply

Who is online

Users browsing this forum: No registered users and 22 guests