Submit a ticketCall us

Announcing NPM 12.2
With NPM 12.2 you can monitor your Cisco ASA firewalls, to monitor VPN tunnels for basic visibility and troubleshooting tunnels. NPM 12.2 also uses the SolarWinds Orion Installer so you can easily install and upgrade one or more Orion Platform products simultaneously.
See new features and improvements.

Home > Success Center > Network Performance Monitor (NPM) > Multicast routing calculations cause database deadlocks

Multicast routing calculations cause database deadlocks

Table of contents

Issue:

In order to determine multicast routing, NPM must determine the status of all multicast devices in a defined group. These devices may be spread across multiple pollers, and group members may change regularly as device use and stop using multicast channels. The database Insert, Update, and Delete operations that are required to update the database may cause database deadlocks. Due to their lower assigned priority, when deadlocks occur, operations required for multicast status calculations are dropped as the corresponding processes are canceled.

 

This issue can express itself via MSMQ backups and MSMQ freezing as its .mq files cannot add more info.

Resolution

There are three possible solutions to address this issue:

  1. If you do not need to monitor multicast status, you can disable multicast status calculations, as follows:
    1. Run the following query against your SolarWinds database to delete all multicast pollers:

      DELETE FROM Pollers WHERE PollerType LIKE '%Multicast%'

    2. Run the following query against your SolarWinds database to update the NPM_Multicast_CountingGroupStatus procedure:

      ALTER PROCEDURE [dbo].[NPM_Multicast_CountingGroupStatus]
      AS
      BEGIN
          RETURN
      END 

    3. If you want to enable multicast pollers, again, execute either of the following actions:
      • Enable pollers manually.
      • Initiate a 'lazy inventory' by running the following query against your SolarWinds database:
        Note: Restart the business service after running the following script.

        INSERT INTO dbo.[NodeSettings] (NodeID, SettingName, SettingValue)
        SELECT n.NodeID, 'NeedsInventory', 'MulticastRouting'
        FROM Nodes n
        WHERE n.ObjectSubType = 'SNMP' AND n.NodeID NOT IN (SELECT NodeID FROM dbo.[NodeSettings] WHERE SettingName = 'NeedsInventory' AND SettingValue = 'MulticastRouting')



      •  
      •  
  2. If you need to monitor multicast status, but you only need to use one (1) polling engine, upgrade to SolarWinds NPM version 10.6. In NPM 10.6, only one poller may write to the database at a time. This feature prevents database deadlocks due to multicast routing status calculations.
  3. If you need to monitor multicast status, and you need to use multiple polling engines, the deadlock issue will remain, even after a recommended upgrade to NPM 10.6. Using the non-locking stored procedures that are attached to this article may help some users.
Last modified
10:23, 10 Mar 2016

Tags

Classifications

Public