Skip to main content
Skip table of contents

Housekeeping

VidiControl Housekeeping is utilized to delete outdated entries from the VidiControl database, preventing the database from becoming excessively large. This helps to manage resources more efficiently and enhance database performance.
Please note that only entries within the VidiControl database will be removed, not any VidiCore objects or files.

How it works

Housekeeping is carried out by a Kubernetes cron job that operates regularly. By default, the schedule is configured as "0 1 * * *", which means the job runs daily at 1 AM. The timezone is contingent on the host system; for instance, it's generally GMT for EKS (Amazon Elastic Kubernetes Service).
The schedule can be overridden in a PREPARED inventory if needed.

If necessary, you can also manually trigger the database cleaner cron job using Lens or other Kubernetes GUIs.

Operation Modes

Housekeeping is configured using config values, which can be found at Config Values.
When "DeletionActivated" is set to false (the default value), housekeeping will not commence.
If "DeletionActivated" is set to true, housekeeping will proceed according to the value of "DeletionSimulationMode".
When "DeletionSimulationMode" is true (the default value), the database will be analyzed for old entries, and the entries found will be logged. However, no deletion will occur.
This mode should be used when initiating housekeeping for the first time, to gain an understanding of which data will be deleted.
When "DeletionSimulationMode" is set to false, actual deletion occurs.
The log provides detailed information and also a summary of the deletions performed or planned. When you search for "DatabaseCleaner finished," you will find an entry like:
DatabaseCleaner finished. Found for possible deletion: 0 messages, 18 titleTemplateAssignments, 13 actions, 0 thirdPartyRetries, 0 chunkProcessorStatus, 0 routings and 1567 bookingDefinitions.
The various entries are described below.

Deleted Entries

The deletion of various database entries can be configured individually.

BookingObjects

The default value for HoldbackTimeForBookingObjectsInDays, as well as other holdback time configuration entries, is 180 days, which is approximately half a year.

Initially, all non-recurring BookingDefinition entries that have a BookingEnd older than HoldbackTimeForBookingObjectsInDays are deleted, provided all dependent objects (booking, chunk, command) are also older than HoldbackTimeForBookingObjectsInDays.

Due to the database structure, deleting a booking definition automatically leads to the deletion of all dependent objects. Any chunk actions linked to a chunk of the booking definition will also be removed.

Recurring BookingDefinition entries are deleted in the same manner when even the most recent recurrence is older than HoldbackTimeForBookingObjectsInDays.

Routings

All Routing entries where End is older than HoldbackTimeForRoutingsInDays will be deleted.

ChunkProcessorStatus

All ChunkProcessorStatus entries where LastAlive is older than HoldbackTimeForChunkProcessorStateInDays will be deleted..

ThirdPartyRetry

All ThirdPartyRetrys entries where LastRetry is older than HoldbackTimeForThirdPartyRetryInDays will be deleted.

Action

All resolved Action entries where ResolvedDateTime is older than HoldbackTimeForActionsInDays will be deleted.

Messages

All Messages entries where TimeStamp is older than HoldbackTimeForMessagesInDays will be deleted.

TitleTemplateAssignment

All TitleTemplateAssignment entries where the object type is booking defintion and where the booking definiton already had been deleted will be delteted too.

Configuration

Besides of the configuration values mentioned above the schedule of the cron job can be modified by overriding the value in the 80_vpms3.vidicontrol.v2.yaml file in the PREPARED inventory.

CODE
vidicontrol:
  databasecleaner:
    helm_chart:
      chart_values:
        hull:
          objects:
            cronjob:
              schedule: "0 1 * * *"

For possible schedule values see CronJob | Kubernetes

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.