annotate
apropos
catcr
catcs
cc.icon
cc.magic
cd
chactivity
chbl
checkin
checkout
checkvob
chevent
chflevel
chfolder
chmaster
chpool
chproject
chstream
chtype
chview
clearaudit
clearbug
cleardescribe
cleardiffbl
cleardiff
clearexport_ccase
clearexport_cvs
clearexport_pvcs
clearexport_rcs
clearexport_sccs
clearexport_ssafe
clearfsimport
cleargetlog
clearhistory
clearimport
clearjoinproj
clearlicense
clearmake
clearmake.options
clearmrgman
clearprojexp
clearprompt
cleartool
clearviewupdate
clearvobadmin
comments
config_ccase
config_spec
cptype
credmap
creds
deliver
describe
diffbl
diffcr
diff
dospace
edcs
endview
env_ccase
events_ccase
export_mvfs
exports_ccase
file
find
findmerge
fmt_ccase
getcache
get
getlog
help
hostinfo
init_ccase
ln
lock
lsactivity
lsbl
lscheckout
lsclients
lscomp
lsdo
lsfolder
lshistory
ls
lslock
lsmaster
lspool
lsprivate
lsproject
lsregion
lsreplica
lssite
lsstgloc
lsstream
lstype
lsview
lsvob
lsvtree
makefile_aix
makefile_ccase
makefile_gnu
makefile_pmake
makefile_smake
makefile_sun
man
merge
mkactivity
mkattr
mkattype
mkbl
mkbranch
mkbrtype
mkcomp
mkdir
mkelem
mkeltype
mkfolder
mkhlink
mkhltype
mklabel
mklbtype
mkpool
mkproject
mkregion
mkstgloc
mkstream
mktag
mktrigger
mktrtype
mkview
mkvob
mount_ccase
mount
msdostext_mode
mvfslog
mvfsstorage
mvfstime
mvfsversion
mv
omake
pathnames_ccase
permissions
profile_ccase
promote_server
protect
protectvob
pwd
pwv
query_language
quit
rebase
recoverview
reformatview
reformatvob
register
relocate
rename
reqmaster
reserve
rgy_backup
rgy_check
rgy_passwd
rgy_switchover
rmactivity
rmattr
rmbl
rmbranch
rmcomp
rmdo
rmelem
rmfolder
rmhlink
rmlabel
rmmerge
rmname
rmpool
rmproject
rmregion
rmstgloc
rmstream
rmtag
rmtrigger
rmtype
rmver
rmview
rmvob
schedule
schemes
scrubber
setactivity
setcache
setcs
setplevel
setsite
setview
shell
snapshot.conf
softbench_ccase
space
startview
type_manager
umount
uncheckout
unlock
unregister
unreserve
update
version_selector
view_scrubber
vob_restore
vob_scrubber
vob_sidwalk
vob_snapshot
vob_snapshot_setup
wildcards_ccase
winkin
xclearcase
xcleardiff
xmldiffmrg
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 about 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 metadata item called an event record in a VOB database almost every time it modifies the database. Event records are created to record such events as 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, but 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:
- 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 inTable 2 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”.
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:
- 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).
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 the 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
Report Destination
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
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:
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. For a list of operations and the associated object to which
event records are attached, see the events_ccase reference
page.)
- operation
- Kind of event, specified by the operation
that creates the event record. (For a list of operations and the associated
objects to which event records are attached, see the events_ccase reference
page.)
- –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. For a list of operations and the associated
objects to which event records are attached, see the events_ccase reference
page.
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 the section, “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, the oplog entries are kept forever.
EXAMPLES
- 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:
- 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:
UNIX FILES
ccase-home-dir/config/vob/vob_scrubber_params |
/var/adm/rational/clearcase/log/vob_scrubber_log |
SEE ALSO
clearexport_pvcs, config_ccase, events_ccase, lshistory, mkattr, mkhlink, mklabel, mktrigger, reformatvob, rmattr, rmhlink, rmlabel, rmtrigger, rmtype, scrubber, schedule