Remove event records and oplog entries from VOB database
Product | Command Type |
---|---|
ClearCase | command |
ClearCase LT | command |
Platform |
---|
UNIX |
Windows |
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 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.)
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.
These obsolete event records are always deleted, regardless of scrubbing parameters:
Creation event records for derived objects.
Event records whose operations are mkattr, mkhlink, mklabel, mktrigger, rmlabel, rmhlink, rmattr, or rmtrigger (if the type object associated with the event has been deleted with rmtype).
These event records are never deleted:
The most recent 1000 event records physically added to the VOB (regardless of logical event time). These are needed by views for cache invalidation.
The most recent lock event record (for an object that is locked).
Event records for operations not annotated with an S in Table 7 in the events_ccase reference page.
All other event records are preserved or deleted according to the configuration file specifications described in VOB-SPECIFIC EVENT-RECORD SCRUBBING PARAMETERS.
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:
The identity of the replica where the change originally took place.
The VOB-database-level change-for example, creation of a new element, checkin of a new version, attaching of an attribute, and so on.
The storage-pool-level change, if any-for example, the contents of a new version.
The event record generated for the change.
An integer sequence number-1 for the first change originating at a particular replica, 2 for the next change, and so on. This is the epoch number of the oplog entry.
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).
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.
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.
REPORT FORMAT. Default: Event statistics are listed briefly, categorized by kind of object. For example, all event records for branch objects are grouped.
REPORT DESTINATION. Default: The report is sent to the log file, vob_scrubber_log.
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.
VOBS TO BE PROCESSED. Default: None.
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:
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.)
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.
For unlock events in all VOBs on the local host: keep the event record if the event occurred within the past 7 days (but keep an event that occurred within the past 30 days if it is the most recent event on a particular object). Otherwise, delete the event record.
In 'ccase-home-dir/config/vob/vob_scrubber_params':
event unlock -keep_all 7 -keep_last 30
In the VOB replica whose storage directory is G:\vobstore\tromba.vbs, retain oplog entries for a year.
In G:\vobstore\tromba.vbs\vob_scrubber_params:
oplog -keep 365
ccase-home-dir/config/vob/vob_scrubber_params
/var/adm/atria/log/vob_scrubber_log
ccase-home-dir\config\vob\vob_scrubber_params
ccase-home-dir\var\log\vob_scrubber_log
config_ccase, events_ccase, lshistory, reformatvob, scrubber, schedule
Feedback on the documentation in this site? We welcome any comments!
Copyright © 2001 by Rational Software Corporation. All rights reserved. |