InfoHubID: A unique 31-bit integer that identifies an InfoHub and does not change once it is defined.
InfoHub Name: The name of the InfoHub.
The InfoHub descriptor typically appears as the first non-comment line of the Configuration File.
If the InfoHub Descriptor is not specified, the configuration process uses the current value of gtmgbldir to see if the current global directory was previously associated with an InfoHubID, and, if so, uses the InfoHubID associated with that global directory. If the current global directory path was never used in association with an InfoHub ID, the configuration fails with an IHHUBDESCREQ error. If configuration processing encounters more than one InfoHub Descriptor, it produces an IHONEINFOHUBREQ error. If configuration processing finds the Name missing, it generates an eight-character Name using random alphanumeric ASCII characters.
If the descriptor specifies InfoHubName but not InfoHubID, the configuration process uses the previous value in ^InfoHubConf corresponding to InfoHubName, and if none is defined, (that is, this is a new InfoHubName), the configuration processing generates a unique random 31-bit positive integer to use (so that InfoHubID is unique for each InfoHub database), and stores it in the database in association with the InfoHubName. If configuration processing finds the InfoHubID corresponds to an InfoHub with no Name, it produces an IHBADSTOREDCONFIG error.
If the descriptor provides both the InfoHubID and the InfoHubName, and the ID is already in the configuration, but the specified Name does not match the existing Name, configuration processing produces an IHNAMEMISMATCH error.
InfoHubID applies to all elements in a configuration file and is the first subscript for all global variables in the database related to a particular InfoHub, except for the sub-tree that maps global directories to InfoHubIDs using "GlobalsDirs" as the first subscript.
Configuration processing stores InfoHub descriptor information in the following node:
Processing a Configuration File is done using a GT.M LOCK on ^InfoHubConf with InfoHubID as a subscript to ensure only one process is handling a Configuration File for an InfoHub at a given time. If the configuration process detects an another process is holding a lock on this InfoHubID for more than 30 seconds, it produces an IHCONFLOCKED error.
The Verbose option for configuration processing generates substantial output that documents how the processing works. This may be useful for debugging some types of configuration problems. If you have a rich configuration, consider building it up in a series of modest increments to make debugging easier.
This example defines an InfoHub called SimpleMonitor. This example is a part of SimpleMonitor.conf configuration file in the ULFM Reference Implementation.