Skip to page contentSkip to chat
ServiceNow support
    • Community
      Ask questions, give advice, and connect with fellow ServiceNow professionals.
      Developer
      Build, test, and deploy applications
      Documentation
      Find detailed information about ServiceNow products, apps, features, and releases.
      Impact
      Accelerate ROI and amplify your expertise.
      Learning
      Build skills with instructor-led and online training.
      Partner
      Grow your business with promotions, news, and marketing tools
      ServiceNow
      Learn about ServiceNow products & solutions.
      Store
      Download certified apps and integrations that complement ServiceNow.
      Support
      Manage your instances, access self-help, and get technical support.
It is not possible to archive all cmdb_rel_ci record when CI records are Archived, leading to CompactRelation errors when the CMDB Identification Engine fails to consider that a CI may be Archived and throws an error, causing major syslog table growth - Known Error
  • >
  • Knowledge Base
  • >
  • Known Error (Knowledge Base)
  • >
  • It is not possible to archive all cmdb_rel_ci record when CI records are Archived, leading to CompactRelation errors when the CMDB Identification Engine fails to consider that a CI may be Archived and throws an error, causing major syslog table growth
KB0695364

It is not possible to archive all cmdb_rel_ci record when CI records are Archived, leading to CompactRelation errors when the CMDB Identification Engine fails to consider that a CI may be Archived and throws an error, causing major syslog table growth


3645 Views Last updated : Apr 8, 2025 public Copy Permalink
KB Summary by Now Assist

Description

On an instance that has the Data Archiving plugin installed and in use for the CMDB tables, the CMDB Identification and Reconcilliation engine can throws a huge number of errors like this in the syslog table: 
 
CompactRelation: failed to get details of CI bc4fe864135b9bc0574c75276144b09f: no thrown error | syslog | 000009c213579700f6a7f107d144b0b3 | system | 2018-07-15 21:36:31 |  | 2 | com.glide.ui.ServletErrorListener | service_cache_mgr 
 
And the app node localhost log:
 
2018-07-26 10:35:54 (605) Default-thread-3 AAD39C29136797C04DD2F027D144B0B4 #10927362 /ngbsmprocessor.do Parameters -------------------------
actionType=loadBasic
mapScriptID=
serviceMode=false
cmd=get
id=8f59d4dce19f71c424893534899bf84e
cacheKill=1532626554567
2018-07-26 10:35:55 (694) Default-thread-3 AAD39C29136797C04DD2F027D144B0B4 SEVERE *** ERROR *** service_cache_mgr : CompactRelation: failed to get details of CI 0008b8644fe49ec06433ab99f110c7cf
2018-07-26 10:35:55 (696) Default-thread-3 AAD39C29136797C04DD2F027D144B0B4 SEVERE *** ERROR *** service_cache_mgr : CompactRelation: failed to get details of CI 001ae60913d2ba006203b2d96144b0ad
2018-07-26 10:35:55 (698) Default-thread-3 AAD39C29136797C04DD2F027D144B0B4 SEVERE *** ERROR *** service_cache_mgr : CompactRelation: failed to get details of CI 009d6cd81337fac0b23ffea2e144b057
2018-07-26 10:35:55 (700) Default-thread-3 AAD39C29136797C04DD2F027D144B0B4 SEVERE *** ERROR *** service_cache_mgr : CompactRelation: failed to get details of CI 00fc04514f126a806433ab99f110c70d
.......
 
This code runs when the Dependency View ngbsmprocessor needs to collect details of all related CIs.
 
This causes 2 main problems:
  • ServiceCacheManager.getInboundRelations and .getOutboundRelations won't work properly, even though the data is there in the instance.
  • On an instance using the CMDB and discovery sources heavily, this can add such a large number of entries to syslog tables to cause disk space and performance issues. 
 
Unlike the CI Form, which realizes the CI is archived and redirects to the archived record,  this code does not check to see if a CI record is archived and instead just throws an error.
 
Neither the Archiving nor CMDB plugins have any feature for 'cascade archiving' related records such as cmdb_rel_ci when a CI is archived that would prevent a relationship record remaining after a CI is archived.

Steps to Reproduce

 

On a clean Kingston instance with demo data:
1/ Install 'Data Archiving' plugin
2/ For the purposes of this test, create an archive rule for the Linux Server table to archive any  CIs with condition: name starts with lnux, which will cover 'lnux100' and 'lnux101' CIs
3/ Activae the rule, then manually run the 'Archive' scheduled job to avoid waiting
4/ Open the form for the "Client Services" business service CI. This has relationships with those server
5/ Open the Dependency view (BSM Map) from the button ion the CI relations section (which you'll notice doesn't show the archived Linux servers)
6/ Check the syslog entries, and you will see a pair of errors, one for each linux server
 
2018-07-27 18:18:28 Error service_cache_mgr : CompactRelation: failed to get details of CI 53958ff0c0a801640171ec76aa0c8f86: no thrown error com.glide.ui.ServletErrorListener
2018-07-27 18:18:28 Error service_cache_mgr : CompactRelation: failed to get details of CI 539747cac0a801640163e60735fbbf6e: no thrown error com.glide.ui.ServletErrorListener 

Workaround

For Data Archiving there is an option to archive related records and whenever a rule is created for CMDB CI archival, the corresponding relations should also be archived.

However, cmdb_rel_ci (CMDB relationship) table has two references to cmdb_ci table (parent and child). When creating a "Archive Related Records" rule, you can only select 1 of those fields, and therefore this workaround is only half a workaround, but is better than nothing. 

  1. In your CMDB related archive rules, add a new Archive Related Records entry
  2. Select "Relationships" in drop down, and it will pre-select "parent" element and there is no way to add the "child" element as well. 

 


Related Problem: PRB1296280

The world works with ServiceNow.

Sign in for more! There's more content available only to authenticated users Sign in for more!
Did this KB article help you?
Did this KB article help you?

How would you rate your Now Support digital experience?

*

Very unsatisfied

Unsatisfied

Neutral

Satisfied

Very satisfied

Very unsatisfied

Unsatisfied

Neutral

Satisfied

Very satisfied

What can we improve? Please select all that apply.

What are we doing well? Please select all that apply.

Tell us more

*

Do you expect a response from this feedback?

  • Terms and conditions
  • Privacy statement
  • GDPR
  • Cookie policy
  • © 2025 ServiceNow. All rights reserved.