WorldServer creates many database objects to represent different
elements (projects, tasks, segmented documents, and so on). Some of
these objects are deleted as soon as they become obsolete, but most
are not. This is done for two main reasons: deleting objects may be
a time consuming procedure and it is not always immediately clear
when an object becomes obsolete. These obsolete objects are “garbage
collected” periodically to reclaim database space.
For example, when an asset is translated in the WorldServer Browser
Workbench it is segmented into the “Segmented Document” structure.
This structure is used internally as long as the corresponding asset
does not change. When the asset does change, a new segmented document
structure is created and the old one left in the database as garbage
to collect.
The garbage collector's default schedule is to run every night at
1AM. It can be controlled by modifying the recurrence named
GC_TASK. Garbage collection will run
as specified by the recurrence. If you adjust the recurrence, WorldServer
must be restarted to notice the change.
Garbage collection consists of several
cleaners, each of which cleans up a particular area in the WorldServer
schema. Garbage collection executes the following cleaners:
-
Translation Memory Attribute Cleaner
This cleaner cleans
up custom attributes on Translation Memory that have been removed
in WorldServer. It removes orphaned TM attribute columns from all
partitioned TM tables in the database. Dropping all TM attribute
columns from all TM tables is a lengthy process that is relegated
to this Garbage Collector Cleaner.
-
Completed Background Task Cleaner
Garbage collects all
completed background tasks. This Completed Background Task cleaner
runs at garbage collection time and removes any background tasks which
were completed at least 7 days ago. This time interval can be adjusted.
Contact WorldServer Technical Support.
-
Segmented Assets Cleaner
When a document is
edited in segments, a segmented version of the document gets created.
This cleaner removes segmented assets which are no longer needed because
the source asset has changed in the repository.
-
Completed Project Cleaner
Allowing completed
projects and tasks to remain in the system can be a useful resource
for project managers. However, they can quickly consume a large chunk
of the database space and, after a period of time, are no longer that
useful. The completed project cleaner runs at garbage collection time
and removes any project for which tasks were all completed at least
15 days ago. It then goes through all of the tasks and removes any
task which was completed at least 30 days ago. Both of these time
intervals can be adjusted. Contact WorldServer Technical Support.
-
Expired Sessions Cleaner
Every time a user logs
into WorldServer, a session is created for that user. If the sessions
is not accessed for a certain configurable amount of time, the session
expires and the user must log into the system again. This cleaner
removes all of these expired sessions from the database. The session
expiration time can be set using the
session_timeout property in
general.properties.
-
Update Oracle Table Statistics (Oracle only)
This cleaner causes
the Oracle database to recreate its indexes, which improves database
performance.
-
AIS Metadata Cleaner
This cleaner cleans
up the following WorldServer objects: AIS properties, AIS ACLs, AIS
locks, linkage, default workflows, and change detection.
-
Workflow Doctor
This doctor runs during
garbage collection and repairs many known types of workflow corruption.
-
Term Database Attribute Cleaner
This cleaner cleans
up custom attributes on Term Databases (TDs) that have been removed
in WorldServer. It also removes orphaned TD attribute columns from
all partitioned TD tables in the database, a rather lengthy process.
-
Workflow Cleaner
This cleaner removes
obsolete workflows that are not in use by tasks and which can no longer
be accessed in any way. These are usually historical workflows which
have been replaced by newer versions, and which no active tasks in
the system are executing.
-
Ad Hoc Data Cleaner
This cleaner removes
segmentation data created for ad hoc jobs. This data is usually generated
when you export a translation kit (or project package) directly from
the WorldServer Explorer, rather than from a workflow or project.