STATUS CODE: 238, 671 Occurs during a synthetic backup when the Veritas NetBackup catalog has an inconsistent or corrupted entry.

STATUS CODE: 238, 671 Occurs during a synthetic backup when the Veritas NetBackup catalog has an inconsistent or corrupted entry.

Article: 100016823
Last Published: 2009-01-02
Ratings: 1 0
Product(s): NetBackup

Problem

STATUS CODE: 238, 671 Occurs during a synthetic backup when the Veritas NetBackup catalog has an inconsistent or corrupted entry.

Error Message

the database contains conflicting or erroneous entries(238)
query for list of component images failed(671)

Solution

Overview:
When doing a Synthetic backup, the bpdbm daemon queries the catalog DB forcomponent full, cumulative, and incremental backups. If the database containsconflicting or erroneous entries, such as partial catalog files or no *.ffiles file, then the Synthetic backup will fail with a Status 238 (the databasecontains conflicting or erroneous entries).  

This could also happenif a synthetic full backup is started manually at the same time a traditionalincremental for the same policy/client is already actively running via theNetBackup scheduler.  This situation could cause the conflicting backupimage information to be used for the synthetic backup which would alsoeventually trigger a Status 238.

Troubleshooting:
The bperror command can be used to view thejob details for a synthetic back up that fails with a Status 238.  Checkthis output to determine if it also lists the Status 671 (query for list ofcomponent images failed).

Log Files:
The /usr/openv/netbackup/logs/bpdbm/log.<date> on the master serverwill show.  
<2>synthesize_client_images: processing file/usr/openv/netbackup/db/images/<clientname>/1104000000/<policyname>_1104559240_FULL
<2>synthesize_client_images: Missing image <policyname>_1106010166_INCR.f todo synthetics backup query
<2>synthesize_client_images: synthetics backups matching criteria =0
<2> bpdbm: request complete:exit status 238 the database contains conflicting or erroneousentries

The /usr/openv/netbackup/logs/bpsynth/log.<date> file will show thefollowing messages:
<16>DBImageQuery::getNextRecord: unable to receive the response to the image query,error=the database contains conflicting or erroneousentries(238)
<2>set_job_details: Done
<16>SynthJob::findImages: caught synth EXCEPTION, error=the database containsconflicting or erroneousentries(238)
<2>SynthJob::findImages: returning error code =671(SynthJob.cpp:1731)
<2>SynthJob::findImages: map now has 0entries(SynthJob.cpp:1743)
<2>SynthJob::prepare: failed to find images, error =671(SynthJob.cpp:1535)
<16>SynthJob::doStart: preparation for generating synthetic image failed, error =query for list of component imagesfailed(671)
<16>SynthJob::endJob: end bpsynth with status = query for list of componentimages failed(671)
<2>exitSynth: exiting with status=query for list of component imagesfailed(671)(bpsynth.cpp:422)

Resolution:
Theerrors in the above examples were cause due to a missing *.f catalog DBfile used as a component backup to make up the synthetic backup.   Thebackup image <policyname>_1106010166_INCR was created on January 17 with aretention level of two weeks.  This image should have been expired anddeleted January 31. The Synthetic back up attempt that failed with a Status 238was run on February 1. In this case the catalog DB was the root cause of theproblem.

The way the bpdbm daemon works is that it looks at all candidate backups regardless if it shouldhave been expired and tries to use them as components of the Synthetic back up.This behavior may change in the future. The solution for this issue was to makesure a catalog DB cleanup happens and run the consistency check prior tosynthetic backups.  
This was done with the followingcommands.
  # bpimage -cleanup-allclients
  # bpdbm-consistency

If no catalog corruption exists, then make surethe synthetic full backup is not being started manually when other scheduledNetBackup jobs are running for the same system.  The job may be startedmanually by the administrator or run automatically from cron. This will createconflicting entries in the image database and cause the synthetic full to failwith these same errors and status codes.  The NetBackup scheduler should beused to schedule backups, this will prevent multiple backups of different typesfrom being started at the same time.

Was this content helpful?