6 Replies Latest reply on Jan 21, 2020 7:14 AM by Gustavo del Gerbo

    Why does Recon ID Activity look for unidentified entries in BMC.ASSET?

    Clayton Shoemaker
      Share This:

      I've been looking at performance issues made apparent in our environment after the size of our CMDB doubled and found a query adding 80+ minutes for ADDM jobs alone. It queries BMC.ASSET where ReconID = 0 and is ran against each class. I've confirmed that there are no methods for creating a BMC.ASSET CI with ReconID = 0 in our environment, so not only is the query slowing things down, it's not even needed in the first place. The problem is that I cannot figure out what flag (if any) is causing the job to include BMC.ASSET.


      Recon Engine Version: : 9.1.04



      • Golden/Target: BMC.ASSET
      • Lower/Source: BMC.LOWER



      1. ID Activity begins for lower/source dataset
      2. ID Activity picks a Working Class
      3. ID Activity picks a Working Dataset (BMC.ASSET)
      4. ID Activity gets instance ids which are not Identified in the Working Dataset (BMC.ASSET) for the Working Class
        • This step can take anywhere from 0-30 minutes depending on the class and is not needed
      5. ID Activity determines there are 0 matches which are not identified in the Working Dataset (BMC.ASSET) for the Working Class
      6. ID Activity picks a Working Dataset (BMC.LOWER)
        • This is what we have configured and expect/want to occur
        • Identification of the lower dataset occurs for the specific class and then steps 1-6 are repeated for the next class



      From the posts/docs I've read, It seems steps 1-6 are expected IF Generate IDs is checked in the Addition Parameters section of the ID Actvity. Now, I've seen reference to two different Generate IDs flags and confirmed the Additional Parameters one is not checked, but none of our jobs even have the option to enable/disable the second one (from screenshots on other posts I've seen, it's a column in the ID Activity table next to the source dataset. I'm guessing this is an older version of CMDB that had this option). I've tried completely recreating the recon jobs, but the issue persists. I do have a case open with BMC, but was wondering if anyone here has ran into the same problem. I'm hoping that someone in the community has some ideas that might help us get to a resolution more quickly.



      BMC.LOWER Recon Job:


      BMC.LOWER ID Activity:


      BMC.LOWER Debug Recon Logs:

      • *BMC.ADDM is used in this log example, but I have confirmed it occurs for every dataset


      Offending SQL Example:

      SELECT T463.C400129200, T463.C179, T463.C400127400, T463.C1 
      FROM T463 
      WHERE ((1 = 1)
      AND (T463.C400129200 = '0') AND (T463.C400079600 = 'BMC_COMPUTERSYSTEM') AND (T463.C400127400 = 'BMC.ASSET')
      AND ((T463.C530041601 = 30) OR (T463.C530041601 = 60) OR (T463.C530041601 = 50)))