servers have missed patching due to blank schedule

ayush_g
Tera Contributor

 issue is this " servers have missed patching via automaion . 129 windows servers have missed patching even when the schedule field value was available in snow tool. why the patching was skipped for these servers.

 

 

What should be done to resolve this  as schedule field  has value in servicenow but while 

The Integration ID (: SNADLPREDICTIVEOPSSYNC.INTEGRATION) used to pull data from cmdb_ci_server table  in ServiceNow via EDF is and its getting issue as whe fetching data ,then details are missing for many servers and for some servers its fetching details

 

 please share all possible causes of this issue and what is the step by step process to solve it.

2 REPLIES 2

vaishali231
Kilo Sage

Hey @ayush_g 

The issue appears to be related to the integration layer between ServiceNow CMDB and the external patch automation system through the integration ID SNADLPREDICTIVEOPSSYNC.INTEGRATION.

Even though the schedule field contains values in ServiceNow, the downstream integration/EDF process is not consistently fetching those details for all servers, which is causing the patching automation to skip around 129 Windows servers.

Possible Causes

1. Integration Query or Filter Conditions

The EDF integration may be applying filters such as:

      Operational status

      Install status

     Active records only

    Updated records only

   Specific class filters

As a result, some servers may be excluded during data retrieval.

Example:

install_status=1^operational_status=1

 

2. Wrong Table or Class Being Queried

Some Windows servers may exist under:

cmdb_ci_win_server

while the integration is querying only:

cmdb_ci_server

This can lead to partial data retrieval.

 

3. ACL / Security Restrictions

The integration user may not have read access to:

  1. The schedule field
  2. Related reference records
  3. Certain domains or server records

In such cases, the API response may return blank values even though the field is populated in UI.

 

4. Delta Sync / Incremental Sync Issue

If the integration only fetches recently updated records using:

sys_updated_on>=last_run_time

then some schedule changes may not be captured properly.

 

5. Reference Field Integrity Issue

If the schedule field is a reference field:

  Referenced record may be inactive

  Invalid sys_id may exist

  Reference record may have been deleted

 

6. Pagination or Batch Processing Limitation

For large server volumes:

  1. API pagination
  2. Batch size limits
  3. Timeout issues
  4. Partial processing

may cause some records to be skipped.

 

7. Mapping / Transformation Issue

The field may exist in source data but not be mapped correctly in:

    EDF mapping

    Transform map

    Payload mapping

  JSON parsing logic

 

8. Domain Separation

If Domain Separation is enabled, the integration user may not have visibility into all domains containing those servers.

 

Recommended Troubleshooting Steps

Step 1 – Identify Working vs Failed Servers

Prepare:

   Few working servers

  Few skipped servers

Compare:

  1. Class
  2. Schedule value
  3. Domain
  4. Operational status
  5. Install status
  6. sys_updated_on

 

Step 2 – Validate Actual Database Values

Run a background script to confirm values are truly stored in database:

var gr = new GlideRecord('cmdb_ci_server');

gr.addNotNullQuery('u_schedule');

gr.query();

while(gr.next()){

gs.print(gr.name + ' | ' + gr.u_schedule);

}

Step 3 – Test API Response Using Integration User

Impersonate the integration user and test the Table API:

/api/now/table/cmdb_ci_server

Verify whether:

  1. Records are visible
  2. Schedule field is returned
  3. Any values are blank

 

Step 4 – Review EDF / Integration Logs

Check:

    ECC Queue

    REST logs

    MID Server logs

   Scheduled job logs

   syslog

Useful tables:

ecc_queue

syslog

sys_execution_tracker

Look for:

  1. ACL errors
  2. Timeout issues
  3. Pagination failures
  4. Skipped batches

 

Step 5 – Validate Table Hierarchy

Check whether affected servers belong to:

cmdb_ci_win_server

If yes, update the integration query to include child classes.

Example:

sys_class_nameINcmdb_ci_server,cmdb_ci_win_server

Step 6 – Perform Full Sync Test

Run a one-time full synchronization instead of delta sync.

If missing servers appear after full sync, then the issue is likely related to incremental sync logic.

 

Step 7 – Validate Reference Records

If schedule is a reference field:

   Verify referenced record exists

   Ensure it is active

   Confirm integration user has access



*************************************************************************************************************************************

If this response helps, please mark it as Accept as Solution and Helpful.

Doing so helps others in the community and encourages me to keep contributing.

Regards

Vaishali Singh

Servicenow Developer
Linkedin - https://www.linkedin.com/in/vaishali-singh-2273361bb



Hey @ayush_g 

Hope you are doing well.

Did my previous reply answer your question?

If it was helpful, please mark it as correct ✓ and close the thread . This will help other readers find the solution more easily.

 

Thankyou & Regards

Vaishali Singh

Servicenow Developer
Linkedin - https://www.linkedin.com/in/vaishali-singh-2273361bb