Hi there,

let me describe where I am coming from before I go into the problem itself:

I have a number of historical backup jobs for different client FDs in a given 
pool. Actually there are two pools, one for the full backups and one for the 
incremental backups.
Now I want to create copies of these backup jobs on a different storage.
I created a copy job for the two pools like this (I realise that the jobdef has 
the same name as the job, his should be different name spaces?):

Job {
  Name = “mycopyjob"
  JobDefs = “mycopyjob"
  Enabled = yes
  AllowIncompleteJobs = no
  AllowDuplicateJobs = no
}

JobDefs {
  Name = “mycopyjob"
  Type = "Copy"
  Level = "Full"
  Messages = "Standard"
  Pool = “t1-pool-full"
  FullBackupPool = “t1-pool-full"
  IncrementalBackupPool = “t1-pool-inc"
  Client = "dummy"
  Fileset = "EmptyFileset"
  Schedule = “mysched"
  MaximumSpawnedJobs = 1000
  Priority = 30
  SelectionType = "PoolUncopiedJobs"
}

Pool {
  Name = “t1-pool-full"
  PoolType = "Backup"
  LabelFormat = “t1-full-"
  ActionOnPurge = "Truncate"
  MaximumVolumes = 100
  MaximumVolumeJobs = 1
  MaximumVolumeBytes = 50000000000
  VolumeRetention = 6048000
  NextPool = “t1-pool-full"
  Storage = "t1-storage"
  AutoPrune = no
  Catalog = "MyCatalog”
}

Pool {
  Name = “t2-pool-full"
  PoolType = "Backup"
  LabelFormat = “t2-pool-full-"
  ActionOnPurge = "Truncate"
  MaximumVolumes = 300
  MaximumVolumeJobs = 1
  MaximumVolumeBytes = 50000000000
  VolumeRetention = 6048000
  Storage = "t2-storage"
  AutoPrune = no
  Catalog = "MyCatalog”
}

Pool {
  Name = “t1-pool-incr"
  PoolType = "Backup"
  LabelFormat = “t1-pool-incr-"
  ActionOnPurge = "Truncate"
  MaximumVolumes = 175
  MaximumVolumeJobs = 6
  MaximumVolumeBytes = 50000000000
  VolumeRetention = 6048000
  NextPool = “t2-pool-incr"
  Storage = "t1-storage"
  AutoPrune = no
  Catalog = "MyCatalog”
}

Pool {
  Name = “t2-pool-incr"
  PoolType = "Backup"
  LabelFormat = “t2-pool-incr-"
  ActionOnPurge = "Truncate"
  MaximumVolumes = 175
  MaximumVolumeJobs = 6
  MaximumVolumeBytes = 50000000000
  VolumeRetention = 6048000
  Storage = "t2-storage"
  AutoPrune = no
  Catalog = "MyCatalog”
}

Now, as there are quite some historical backup jobs in t1-pool-incr and 
t1-pool-full, the copy job will generate a number of further copy jobs, 1 per 
each job that is selects for copying.

Now here is the problem: for the generated copy jobs the 

  Read Pool:              “t1-pool-full" (From Job FullPool override)  !!note: 
this pool should have been t1-pool-inc !!
  Read Storage:           “t1-storage" (From Pool resource)
  Write Pool:             “t2-pool-full" (From Command input)  !!note: this 
poool should have been t2-pool-inc !!
  Write Storage:          “t2-storage" (From Command input)

For a copy job that was not generated for a number of jobs (so a copy job that 
selects just 1 job for copying and where no additional copy jobs are generated 
for this pool) looks like this (which is exactly what I intend it to be):

  Read Pool:              “some-t1-pool-incr" (From Job IncPool override)
  Read Storage:           “t1-storage" (From Pool resource)
  Write Pool:             “some-t2-pool-incr" (From Pool's NextPool resource)
  Write Storage:          “t2-storage" (From Pool's NextPool resource)

Take note of the origins for the pools and storages in the brackets and compare 
those to the ones of the generated copy jobs above.

Lets look at this:
Read Pool:              “t1-pool-full" (From Job FullPool override)

The actual job level should be incremental, as the job is scheduled as 
incremental according to the backup job selected for copied and according to 
the schedule.
However, the backup job then is correctly read from t1-pool-inc!

Now lets look at this:
Write Pool:             “t2-pool-full" (From Command input)

The copies are written to the wrong pool! This actually happens.
I am not sure why the origin say this is coming from “Command input”, maybe the 
job gets the write pool explicitly during generation and does not retrieve it 
from the read pool’s NextPool directive? But in both cases the outcome is 
wrong. (as the read pool is wrongly determined, the NextPool would also be 
t2-pool-full)

I cannot explain why this happens, maybe someone else can?
Is this a bug? 

Thanks for taking the time for considering my problem description,
 J/C






_______________________________________________
Bacula-users mailing list
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users

Reply via email to