This discussion has been locked. The information referenced herein may be inaccurate due to age, software updates, or external references.
You can no longer post new replies to this discussion. If you have a similar question you can start a new discussion in this forum.

NCM freetext indexing process locks the database

NCM: 7.3.2 / NPM 11.0.1

The NCM business layer appears to build free text indexes (C:\ProgramData\Solarwinds\Cirrus\Lucene) of the configuration files if it thinks they are out of sync.

If you have very large configuration files this can cause lock timeouts on the nodes tables while this is happening, leading to unusual timeouts and general UI weirdness.


(@configId uniqueidentifier)SELECT Config, DownloadTime, ConfigType, NCM_Nodes.CoreNodeID FROM NCM_ConfigArchive

INNER JOIN NCM_Nodes ON NCM_ConfigArchive.NodeID = NCM_Nodes.NodeID WHERE ConfigID=@configId

(NCM_Nodes is a view that includes the Nodes tables; joining with NCM_NodeProperties instead would prevent the deadlocking)


I think this is one of the side effects of merging the NCM/NPM into one database.


(reported to Solarwinds support)

  • FormerMember
    0 FormerMember

    Hi Richard Letts,

    Thanks for sharing this. Could you also post here the ticket number?

  • Ticket# 735983

    In my case the configuration files for a couple of our firewalls are around 35MB <-- yep Megabytes;

    This is because they have/had the IPS function enabled...

  • Hi RichardLetts‌,

    We plan to fix the problem with the indexing/search in the next release. However, such big configs will probably cause other issues in the UI.

    Regards,

    Jiri

  • The underlying problem is that in 11.0.1/7.3.1 there is now a unified nodes table. Previously when NCM had its own database no locks were taken on the NPM nodes table, but now there are.

    NCM_Nodes is a view that includes the Nodes tables; this at NPM<11.5 is a single table with many updates and reads on it. this causes excessive contention as process that want slowly changing data (like the vendor and machinetype) get stuck behind processes updating the response time, cpu load, memory buffers, etc.


    I'm trying to get our firewall configuration files shrunk -- they appear to contain all of the IPS templates, which really don't need to be backed up given they get updated a couple of times a day.