System properties
Summarize
Summary of System Properties
This document outlines the system properties that manage the Data Management capabilities within ServiceNow, focusing on archive and table cleaner properties. These properties allow customers to optimize system resource usage during archiving and cleaning operations.
Show less
Key Features
- Archive Rule and Destroy Rule Properties: Automates the management of system resources during the archiving process, which can be adjusted manually. The process uses a producer-consumer model for efficient record handling.
- System Properties for Archiving:
- glide.db.archive.chunksize: Defines the number of unique identifiers in each archive chunk (default is 1000).
- glide.db.archive.max.rule.records: Sets the maximum records per rule processed by consumers (default is 10,000).
- glide.db.archive.max.batches: Specifies the number of chunks a consumer processes before scheduling another (default is 10).
- glide.db.archiving.maxconsumerworkers: Establishes the maximum number of concurrent consumers (default is 4).
- Table Cleaner Properties:
- glide.db.tablecleaner.daysbeforeslowrulereattempt: Configures the waiting period for reprocessing slow rules (default is 2 days).
- glide.db.tablecleaner.chunkdeletemaxtimespent: Limits the time spent deleting records per rule (default is 1200 seconds or 20 minutes).
Key Outcomes
By configuring these system properties, ServiceNow customers can enhance the efficiency of their data management processes. Adjustments allow for better control over resource usage during archiving and cleaning, ensuring a smoother operation and minimizing disruptions in system performance.
These system properties control the behavior of the Data Management capabilities.
Archive rule and destroy rule properties
Rules to prevent the archive process from consuming too many system resources have been automated. You can manually change the system behavior.
The archive process uses a producer and consumer model. Records are queued for archiving in the Archive Job Execution Chunks [sys_archive_run_chunk] table in batches.
- The ArchiveProducerJob creates chunks of sys_ids records that need to be archived. Each chunk contains records pertaining to a single archive rule. The maximum number of records in a chunk is specified by the property glide.db.archive.chunk_size. The maximum number of records for a single rule across all chunks is specified by glide.db.archive.max.rule.records.
- The producer starts up 4 (default) ArchiverJob consumers. The exact number of consumers is specified by glide.db.archiving.max_consumer_workers.
- Consumers read and process chunks of sys_ids. The number of chunks each consumer processes is specified by glide.db.archive.max.batches. The chunks processed by each consumer may be from different archive rules.
- Consumers repeat reading chunks of sys_ids until none remain or the limit of chunks a consumer can process (specified by glide.db.archive.max.batches) is reached, after which it shuts down and schedules another consumer.
- If a chunk remains in the running state longer than what's specified in glide.db.archive.chunk.max.process.time, the system assumes that the consumer abruptly terminated, and it changes the chunk’s status to error. This doesn't stop or end any running consumers.
| Name | Description | Type | Default Value |
|---|---|---|---|
| glide.db.archive.chunk_size | Number of unique identifiers added to each record in the Archive Job Execution Chunks [sys_archive_run_chunk] table. The record is formatted as CSV values in the keys field of the Archive Job Execution Chunk (sys_archive_run_chunk.do) form. | Integer | 1000 |
| glide.db.archive.chunk.max.process.time | Number of milliseconds a record can remain in the Active state in the Archive Job Execution Chunks [sys_archive_run_chunk] table. The time is the difference between the system time and the value of the Start field in the Archive Job Execution Chunks [sys_archive_run_chunk] table. | Integer | 600000 |
| glide.db.archive.max.rule.records | Maximum number of records to batch per consumer, per rule. | Integer | 10000 |
| glide.db.archive.debug | Option that enables verbose logging when copying the column definitions from the original table to the archive table. | true | false | false |
| glide.db.archive.max.batches | Number of chunks, which are records from the Archive Job Execution Chunks [sys_archive_run_chunk] table, processed by a consumer before it shuts down and schedules another consumer. | Integer | 10 |
| glide.db.archiving.max_consumer_workers | The maximum number of concurrent consumers cluster-wide. | Integer | 4 |
Table cleaner properties
To set table cleaner system properties, navigate to the System Properties [sys_properties] table and add the property.
| Property | Description |
|---|---|
|
Configure the number of days table cleaner must wait before attempting to reprocess a slow rule.
|
When a table cleaner rule has a query that takes longer than 30 seconds to complete, the entire table cleaner job is stopped. By default, table cleaner waits two days before including that rule in the table
cleaner job again. You can change the default waiting period by adding this property.
|
|
Configure a time limit for a table cleaner rule.
|
Limits how long the cleaner spends trying to batch-delete records per rule during a single run. The value is given in seconds and defaults to 1200 (20 minutes), which means the table cleaner runs hourly for a
maximum of 20 minutes. You can change the default time limit by adding this property.
|