Skip to main content

SYS.DataCheck.RunParameters

persistent class SYS.DataCheck.RunParameters extends %Library.Persistent

SQL Table Name: SYS_DataCheck.RunParameters

Dynamic parameters for the running system. An instance of this class is referenced by each Destination and affects the behavior of both systems involved in the check. The RunParameters object defines the performance characteristics and what to check. Changes that are saved while the system is running will take immediate effect unless otherwise specified.

Property Inventory

Properties

property DefaultGlobalSelectionMask as %String (MAXLEN = 32767) [ InitialExpression = "*" ];
Default value for GlobalSelectionMask for databases not defined in that array. Applies only when UseGlobalSelectionMask is true.

Changes take effect next time a new check is begun (ie on entering the 'Check' phase).

Property methods: DefaultGlobalSelectionMaskDisplayToLogical(), DefaultGlobalSelectionMaskGet(), DefaultGlobalSelectionMaskGetStored(), DefaultGlobalSelectionMaskIsValid(), DefaultGlobalSelectionMaskLogicalToDisplay(), DefaultGlobalSelectionMaskLogicalToOdbc(), DefaultGlobalSelectionMaskNormalize(), DefaultGlobalSelectionMaskSet()
property GlobalSelectionMask as array of %String (MAXLEN = 32767);
An array of strings used to determine the set of global names to check in each database. It is keyed by LocalDatabase, which is the local database path for non-mirror DataCheck configurations and the mirror database name for mirrored DataCheck configurations. Keys should be normalized using ##class(SYS.DataCheck.LocalDatabase).Normalize() before being inserted. The value is a mask, or comma-separated list of masks, to select globals. If the value is not defined for a database, it defaults to select all globals.

IMPORTANT: Callers that modify this array are responsible for ensuring that the database is specified correctly, and for non-mirror DataCheck configurations, that it has a mapping specified in the DataCheck configuration.

Example masks are as follows:
ABC* - All strings starting with ABC
A:D - All strings between A and D
A:D,Y* - All strings between A and D, and all strings starting with Y
A:D,'C* - All strings between A and D, except those starting with C

Changes take effect next time a new check is begun (ie on entering the 'Check' phase).

Property methods: GlobalSelectionMaskBuildValueArray(), GlobalSelectionMaskCollectionToDisplay(), GlobalSelectionMaskCollectionToOdbc(), GlobalSelectionMaskDisplayToCollection(), GlobalSelectionMaskDisplayToLogical(), GlobalSelectionMaskGet(), GlobalSelectionMaskGetObject(), GlobalSelectionMaskGetObjectId(), GlobalSelectionMaskGetStored(), GlobalSelectionMaskGetSwizzled(), GlobalSelectionMaskIsValid(), GlobalSelectionMaskLogicalToDisplay(), GlobalSelectionMaskLogicalToOdbc(), GlobalSelectionMaskNormalize(), GlobalSelectionMaskOdbcToCollection(), GlobalSelectionMaskSet(), GlobalSelectionMaskSetObject(), GlobalSelectionMaskSetObjectId()
property MinimumQuerySize as %Integer (MINVAL = 1) [ InitialExpression = 32 ];
The minimum number of nodes to traverse in a query. This is the granularity, in number of global nodes, with which the system will isolate discrepant global ranges. A value of 1 means that the system will isolate discrepancies down to a single node. Higher values give vastly better performance through unmatched sections.
Property methods: MinimumQuerySizeDisplayToLogical(), MinimumQuerySizeGet(), MinimumQuerySizeGetStored(), MinimumQuerySizeIsValid(), MinimumQuerySizeLogicalToDisplay(), MinimumQuerySizeNormalize(), MinimumQuerySizeSet()
property SystemName as SystemName [ Required ];
Name of the DataCheck Destination system that uses this object. Set upon creating the destination object and should not be changed.
Property methods: SystemNameDisplayToLogical(), SystemNameGet(), SystemNameGetStored(), SystemNameIsValid(), SystemNameLogicalToDisplay(), SystemNameLogicalToOdbc(), SystemNameNormalize(), SystemNameSet()
property Throttle as %Integer (MAXVAL = 10, MINVAL = 1) [ InitialExpression = 2 ];
An integer between 1 and 10 to control how much of the system resources (CPU, disk I/O, database cache) the DataCheck system may use. The implementation may differ over time as software and hardware characteristics evolve. The setting can be changed dynamically to tune DataCheck activity up or down. The characteristics of every system are different, but the following general meanings apply:
  • A throttle setting of 1 uses no more resources than one process for performing DataCheck queries. In other words, it uses at most one CPU and does only one disk I/O at a time. Whether the resources used are primary CPU or primarily disk I/O depends on whether the data is in buffers already and can vary as the check progresses.
  • As the throttle is raised up to 8, more system resources are consumed at each step. For systems with large amounts of resources (many CPUs, etc), each interval is scaled to increase resource consumption by, very roughly, the same multiplicative factor, such that at a throttle setting of 8, DataCheck uses a large portion of system resources. This takes into account the number of CPUs and other factors. At a throttle setting of 8 the system is still expected to be responsive to a light load of application activity, and settings of 6, 7, or 8 may be an appropriate on a typical system at off-peak hours (weekends or overnights for example).
  • A throttle setting of 9 is like 8, but allows DataCheck jobs to use the entire buffer pool (unsets the batch flag).
  • A throttle setting of 10 attempts to utilize nearly all system resources for completing the check.
  • Property methods: ThrottleDisplayToLogical(), ThrottleGet(), ThrottleGetStored(), ThrottleIsValid(), ThrottleLogicalToDisplay(), ThrottleNormalize(), ThrottleSet()
    property UseGlobalSelectionMask as %Boolean [ InitialExpression = 0 ];
    If true use the per-database selection mask defined in the GlobalSelectionMask array to choose which globals to check. If false, check all globals in all directories.

    Changes take effect next time a new check is begun (ie on entering the 'Check' phase).

    Property methods: UseGlobalSelectionMaskDisplayToLogical(), UseGlobalSelectionMaskGet(), UseGlobalSelectionMaskGetStored(), UseGlobalSelectionMaskIsValid(), UseGlobalSelectionMaskLogicalToDisplay(), UseGlobalSelectionMaskNormalize(), UseGlobalSelectionMaskSet()
    property UseGlobalSelectionRangeLists as %Boolean [ InitialExpression = 0 ];
    If true use the RangeList objects from the set of Global Selection RangeLists to define additional subscript ranges to include/exclude. If false ignore the Global Selection RangeLists

    Changes take effect next time a new check is begun (ie on entering the 'Check' phase).

    Property methods: UseGlobalSelectionRangeListsDisplayToLogical(), UseGlobalSelectionRangeListsGet(), UseGlobalSelectionRangeListsGetStored(), UseGlobalSelectionRangeListsIsValid(), UseGlobalSelectionRangeListsLogicalToDisplay(), UseGlobalSelectionRangeListsNormalize(), UseGlobalSelectionRangeListsSet()

    Indexes

    index (IdIndex on SystemName) [IdKey, Type = key];
    Index methods: IdIndexCheck(), IdIndexDelete(), IdIndexExists(), IdIndexOpen(), IdIndexSQLCheckUnique(), IdIndexSQLExists(), IdIndexSQLFindPKeyByConstraint(), IdIndexSQLFindRowIDByConstraint()

    Inherited Members

    Inherited Methods

    Storage

    Storage Model: Storage (SYS.DataCheck.RunParameters)

    ^SYS.DataCheck.RunParametersD(ID,"GlobalSelectionMask",n)
    =
    GlobalSelectionMask(n)

    Storage Model: Storage (SYS.DataCheck.RunParameters)

    ^SYS.DataCheck.RunParametersD(ID)
    =
    %%CLASSNAME
    MinimumQuerySize
    UseGlobalSelectionMask
    UseGlobalSelectionRangeLists
    Throttle
    DefaultGlobalSelectionMask
    Throttle8Jobs
    FeedbackOpens in a new tab