vob_scrubber

Remove event records and oplog entries from VOB database

APPLICABILITY


Product

Command Type

ClearCase


command


ClearCase LT


command


Platform

UNIX


Windows

SYNOPSIS

vob_scrubber [ -stats_only ] [ -long ] [ -nlog ]

{ -lvobs | vob-storage-dir-pname ... }

DESCRIPTION

The vob_scrubber program deletes old event records and MultiSite oplog entries from a VOB database. This retards VOB growth by logically deleting the items, freeing space in the VOB database for storage of new event records and oplog entries. (Physical deletion requires processing with the reformatvob command.)

The file vista.tjf records updates to the VOB that result from vob_scrubber operations. vista.tjf can grow very large. For information on limiting its size, read about the file db.conf in the config_ccase reference page.

vob_scrubber does not need to run in a view and does not require the VOB it processes to be mounted.

CLEARCASE AND CLEARCASE LT EVENTS

ClearCase and ClearCase LT create a meta-data item called an event record in a VOB database almost every time it modifies the database-for example, to record the checkin of a new version, the attaching of an attribute to an element, or the creation of a new branch type. Each event record consumes 300-400 bytes. Some event records, like those for element and version creation, are valuable indefinitely; however, many minor event records are not. For example, the removal of a version label from a collection of versions creates a minor event record for each affected object. Over time, such minor event records occupy more space as they become less useful. (After a month or a year, no one is likely to care who removed the version labels, especially if the label type itself has also been deleted.)

Event Record Scrubbing

vob_scrubber marks certain event records as logically deleted. As with any metadata removal, the deletion does not physically reduce the amount of disk space used by the VOB database; it merely frees up space in the database, making it available for future use. To actually reduce the size of the database, you must run reformatvob, which discards the logically deleted data as it reconstructs the VOB database. Thus, regular use of vob_scrubber minimizes VOB database growth, but does not recover disk space.

What Event Records Are Deleted

These obsolete event records are always deleted, regardless of scrubbing parameters:

These event records are never deleted:

All other event records are preserved or deleted according to the configuration file specifications described in VOB-SPECIFIC EVENT-RECORD SCRUBBING PARAMETERS.

MULTISITE OPLOG ENTRIES

In each replicated VOB, cleartool creates oplog (operation log) entries, which store all the information required to repeat the changes in some other replica of the VOB.

Each oplog entry logically includes this information:

Like event records, oplog entries are stored in the VOB database and can be scrubbed.

WARNING: Oplog entries play an essential role in the MultiSite replica-synchronization scheme. It is extremely important that oplog entries be retained until they are no longer needed for synchronization. For this reason, the standard retention period for oplog entries is infinite (oplog -keep forever).

MULTISITE EXPORT_SYNC ENTRIES

When you export an update packet from a replicated VOB, MultiSite creates one export_sync record for each target replica. These records are stored in the VOB database and are used by the recoverpacket command to reset a replica's epoch matrix. You can scrub these records, but scrubbing old records limits the date range over which recoverpacket can operate.

NOTE: export_sync records are distinct from exportsync events, which are listed by the lshistory command and graphical History Browser. You can scrub export_sync records without losing export history for a replica.

AUTOMATIC SCRUBBING

By default, the scheduler runs vob_scrubber periodically. See the schedule reference page for information on describing and changing scheduled jobs. A configuration file, vob_scrubber_params, provides control over which event records and oplog entries are deleted.

You can run vob_scrubber manually as needed.

OPTIONS AND ARGUMENTS

REPORT FORMAT.  Default: Event statistics are listed briefly, categorized by kind of object. For example, all event records for branch objects are grouped.

-long

Produces a detailed report of the event statistics, categorized by kind of object, kind of event, and kind of operation.

REPORT DESTINATION.  Default: The report is sent to the log file, vob_scrubber_log.

-nlog

Sends the report to stdout instead of the log file.

DELETION CONTROL.  Default: Delete event/oplog records and report statistics on the number of objects, the number of records before deletion, the number of records deleted, and the number of records after deletion.

-stats_only

Suppresses deletion of records; the report includes statistics on the number of objects, event records, and oplog entries in the VOB.

VOBS TO BE PROCESSED.  Default: None.

-lvobs

Scrubs event records and oplog entries from all VOBs that reside on the local host.
vob-storage-dir-pname

Scrubs the VOB whose storage directory is at the specified pathname.

VOB-SPECIFIC EVENT-RECORD SCRUBBING PARAMETERS

A host-wide configuration file controls the operation of vob_scrubber; each VOB can have its own configuration file, which overrides the systemwide settings (UNIX pathnames are shown, but the Windows paths are the same (except for slash direction)):

Host-wide config file

ccase-home-dir/config/vob/vob_scrubber_params

Per-VOB config file

vob-storage-dir-pname/vob_scrubber_params

The event-scrubbing configuration file is a text file. A line that begins with a number sign (#) is a comment. All other lines control how one kind of event is to be scrubbed-how long to keep the most recent one, and how long to keep other events of that kind:

event operation -keep_all { n | forever } [ -keep_last { n | forever } ]

These are the components of an event-scrubbing control line:

event

A keyword that indicates that the remaining components of the control line apply to the event records created by a particular CM operation. (See the events_ccase reference page for a list of operations and the associated object to which event records are attached.)
operation

Kind of event, specified by the operation that creates the event record. (See the events_ccase reference page for a list of operations and the associated objects to which event records are attached.)
-keep_all { n | forever }

For each object: keep event records created by the specified operation for at least n days, or forever. If -keep_last is also specified, this period applies to all but the most recent such event; otherwise, the period applies to all such events, including the most recent one.
-keep_last { n | forever }

(Optional) For each object: keep the most recent event record created by the operation for at least n days, or forever. The keep_last period must be at least as long as the keep_all period. The meaning of "most recent event" depends on the operation; see the events_ccase reference page for a list of operations and the associated objects to which event records are attached.

OPERATION LOG AND EXPORT RECORD SCRUBBING

The vob_scrubber_params files also control scrubbing of oplog entries and export records. The syntax for these lines follows. (Do not begin these lines with the keyword event.)

oplog -keep { n | forever }

Specifies the number of days an oplog entry is kept in the VOB database. You must preserve oplog entries long enough to guarantee delivery of synchronization updates based on them. The default is forever.
export_sync -keep { n | forever }

Specifies number of days an export synchronization record is kept in the VOB database. By default, this line is not included in the vob_scrubber_params file, and the records are scrubbed with the same frequency as the oplog entries.

SCRUBBING DEFAULTS

If the configuration file includes no control line for a particular operation, all event records created by the operation are kept forever. Therefore, an empty configuration file preserves all event records (except obsolete ones, which are always discarded; see What Event Records Are Deleted). The calculated times are always compared to the logical event creation time (as shown by lshistory), rather than the physical event creation time. These can differ if the event records were created by an exporter, such as clearexport_pvcs.

If the configuration file includes no -oplog control line, then oplog entries are kept forever.

EXAMPLES

UNIX FILES

ccase-home-dir/config/vob/vob_scrubber_params
/var/adm/atria/log/vob_scrubber_log

WINDOWS FILES

ccase-home-dir\config\vob\vob_scrubber_params
ccase-home-dir\var\log\vob_scrubber_log

SEE ALSO

config_ccase, events_ccase, lshistory, reformatvob, scrubber, schedule