What does the CI_HIERARCHY_LEVELS NX.ENV variable do?
search cancel

What does the CI_HIERARCHY_LEVELS NX.ENV variable do?


Article ID: 202571


Updated On:


CA Service Management - Service Desk Manager CA Service Desk Manager


What does the CI_HIERARCHY_LEVELS NX.ENV variable do and are there any side effects in adjusting its value?


Service Desk Manager 17.x

All Supported Operating Systems


A Change Order opens a schedule validation call in the background. This call validates the Change Schedule with all global windows available, then with inherited windows to traverse in the CI hierarchy. 

If there are many CIs attached to a Change Order, Service Desk Manager needs to send a complex query to the database for processing.

The more levels the single SQL Statement needs to check, and the more CIs it needs to check in each level, the higher the impact in the SQL Server and more work/computation SQL Server needs to perform before the culprit SQL Statement returns. The "cte\$1.level <= 3" part of the SQL Statement changes based on the value of NX_CI_HIERARCHY_LEVELS set.

Let's use the following example to further explain:

If you have a service for which is linked to a maintenance window that is only over the weekend, that service is linked to a server and then you create a change order for the server which requires a reboot during overnight on a weekday. The CO might not display the message that the service would be restarted outside of the maintenance window depending on the value of NX_CI_HIERARCHY_LEVELS.  If NX_CI_HIERARCHY_LEVELS is small it might not display the message but if NX_CI_HIERARCHY_LEVELS is higher, it might display the message.

The above example is simple as it has only one level, but imagine a server (server 1), that hosts SQL Server, used by SDM which is installed on a 2nd server and the SDM Webservices are being used by Spectrum on a 3rd server. There is a maintenance window set for the Spectrum service. An engineer creates a CO to restart server 1.  

A possible side effect of lowering the NX_CI_HIERARCHY_LEVELS is that it would cause conflict warnings to possibly not be displayed.  For example, if you have NX_CI_HIERARCHY_LEVELS set to '1', the warning will not be displayed, but if you have it set to '4', it will display.

Additional Information