Understand Pipeline Objects global process settings
- Last UpdatedJan 09, 2026
- 3 minute read
Note: For information on overriding default configuration settings, see Modify configuration settings.
The global settings for AVEVA Pipeline Operations for Liquids applications are set in the AVEVA Pipeline Operations for Liquids configuration JSON file located at %DNAInstallRoot%\RealTime\config\Settings\LMS.RealTime.json. The Pipeline Objects (MonitorLMSObjects) settings content is within the "LMS" > "LMSObjects" > "MonitorLMSObjects" section.
The settings from this file are installed as part of the AVEVA Pipeline Operations for Liquids installation process. You will not normally need to change these settings. If you do need to change this file, the RealTime service must be restarted for the changes to take effect.
The following example details the default settings in the file:
"LMSObjects": {
"MonitorLMSObjects": {
"LogFile":
"monitorLMSObjects.log",
"Debug": false,
"CheckIn": true,
"CriticalProcess": true,
"RestartProcessOnUnexpectedExit": true,
"CheckinTimeout": 60,
"CheckinSleepInterval": 15,
"StartUpDelay": 30,
"PubSubReceiveQueueSize": 50000,
"ParentValveStateNormalizationEnabled": true
}
}
Where:
-
"LogFile" is the name of the log file to which errors are generated when the debug level is defined as verbose. This value should be a valid file name.
-
"Debug" is a true/false value indicating if MonitorLMSObjects should be operating in debug mode. When Debug is set to true, additional information will be sent to the MonitorLMSObjects log file.
-
"CheckIn" is a true/false value indicating whether or not MonitorLMSObjects should check into the RealTime Process Monitor at startup.
-
"CriticalProcess" is a true/false value indicating whether or not MonitorLMSObjects should check into RealTime Process Monitor as a critical process (only applicable when CheckIn is true).
-
"RestartProcessOnUnexpectedExit" is a true/false value indicating whether or not MonitorLMSObjects should restart and check into RealTime Process Monitor as a process to restart on unexpected exit (only applicable when CheckIn is true).
-
"CheckinTimeout" is an integer value indicating the maximum number of seconds between check-ins before the MonitorLMSObjects process is declared dead (only applicable when CheckIn is true).
-
"CheckinSleepInterval" is an integer value indicating the number of seconds between each attempted check-in by MonitorLMSObjects (only applicable when CheckIn is true).
-
"StartupDelay" is an integer value indicating the number of seconds that the primary processing loop of MonitorLMSObjects will wait before beginning operations.
-
"PubSubReceiveQueueSize" is an integer value indicating the size of the PubSub receive queue. The size of this queue is a function of the number of configured objects for each device type and the number of topics associated with these types. The default is 50000, and the size can be calculated as follows:
S =
((Number of valves x 4 topics per valve) + (Number of pumps x 3 topics per pump) +
(Number of Points of Interest x 1 topic per Point of Interest)) x 1.10
PubSubReceiveQueueSize = S rounded up to the nearest 10,000
Notes: AVEVA recommends that the value of PubSubReceiveQueueSize be tested by performing a few failover scenarios to ensure connectivity between the standby and hot servers. An insufficient queue size will cause the system to disconnect from PubSub. A disconnected state is not recoverable and will trigger a failover to the standby server. When the disconnection from PubSub occurs, it is accompanied by the following log error message:
ERROR - Application MonitorLMSObjects (pid N) has been declared too slow.
If the above error log message persists after using the calculated value for PubSubReceiveQueueSize, multiply the calculated value by a factor of two, restart RealTime and retest the same failover scenarios. You may need to perform a few iterations of adjusting the value and testing the failover scenarios until no errors occur.
It is recommended that you perform this test again whenever a large number of assets are added to the system. -
"ParentValveStateNormalizationEnabled" is a true/false value that determines whether the system should normalize the calculated state of logical/synthetic valves. When normalization is enabled, the calculated state of the parent valve will always be normalized to one of two states: OPEN or CLOSED. When it is disabled, the calculated state will remain unchanged (for example, OPEN, OPENING, or TRANSIT). By default, normalization is enabled. If you want to disable it, change the field ParentValveStateNormalizationEnabled value to false. For more information on how this configuration affects the calculated state of parent valves, see Determine the State of Synthetic and Logical Valves.