Edit

Distribution point installations or upgrades take longer than expected in Configuration Manager

Applies to: Configuration Manager current branch

Summary

This article helps you resolve delayed distribution point installations or upgrades when all available Distribution Manager upgrade threads are in use.

Symptoms

When you install or upgrade many standard or pull distribution points, some distribution points remain queued longer than expected. DistMgr.log repeatedly records the following message:

DP upgrade processing thread: No more available threads left to process any more upgrade distribution point notifications. Will wait for existing distribution point upgrades.

The log also records the configured limit when Distribution Manager loads its settings:

DP upgrade thread Limit: <thread limit>

Cause

Distribution Manager uses one upgrade-processing thread for each distribution point installation or upgrade. In Configuration Manager current branch, the built-in limit is 50 concurrent threads. When 50 threads are active, Distribution Manager queues additional notifications and records the message shown in the Symptoms section.

The DPUpgradeThreadLimit site-control property overrides the built-in limit. This property is an embedded property in the Props array of the SMS_DISTRIBUTION_MANAGER instance of the SMS_SCI_Component Windows Management Instrumentation (WMI) class. If an earlier workaround set this property to a value lower than 50, Distribution Manager processes fewer installations or upgrades concurrently.

Solution

  1. In DistMgr.log, find the most recent DP upgrade thread Limit entry.
  2. If the value is 50, don't increase it. Review the installation or upgrade thread entries in DistMgr.log to identify distribution points that take a long time or repeatedly fail. For more information about tracing an individual thread, see Distribution point installation, upgrade, and configuration.
  3. If the value is lower than 50, check the Props array of the SMS_DISTRIBUTION_MANAGER instance of SMS_SCI_Component for a DPUpgradeThreadLimit embedded property.
  4. If your organization no longer requires the custom limit, remove the embedded property to restore the built-in limit of 50. If your organization still requires the custom limit, set it according to your organization's tested capacity.
  5. Commit the site-control change through the SMS Provider. Distribution Manager refreshes the setting during its normal processing cycle. Confirm that DistMgr.log records the expected limit.

Caution

Incorrect site-control changes can damage a Configuration Manager site. Use the SMS Provider site-control APIs, test the change in a nonproduction environment, and don't set DPUpgradeThreadLimit higher than the built-in limit of 50.

More information