Notifications

4 views

Description

Windows Patterns fail due to Print Queue identification expecting only one print queue per IP address, and fails payloads as containing Duplicates, although names are all unique.

The "Windows - Printers" Pattern library, which is used by Windows OS - Servers, Windows OS - Desktops and Hyper-V Server Patterns, fetches all print queues' Names and IP Addresses and adds all to the payload.

The OOTB CI Identifier for Print Queue [cmdb_ci_print_queue] has only one Identifier Entry, which only uses ip_address as the Criterion. As the payload has multiple entries with the same IP Address, DUPLICATE_PAYLOAD_RECORDSĀ  errors are caused, and the Windows CI is not created or updated.

This also results in a huge number of Discovery errors in the system logs: "identification_engine : DUPLICATE_PAYLOAD_RECORDS Found duplicate items in the payload" causing a performance issue for the syslog table. One customer reported millions or error records daily.

Application node logs will have errors like this:

2019-11-08 22:41:54 (292) worker.0 worker.0 txid=e6814081db05 SEVERE *** ERROR *** identification_engine : DUPLICATE_PAYLOAD_RECORDS Found duplicate items in the payload (index 63 and 65), using className [cmdb_ci_print_queue] and fields [ip_address]. Remove duplicate items from the payload
2019-11-08 22:41:54 (293) worker.0 worker.0 txid=e6814081db05 SEVERE *** ERROR *** identification_engine : DUPLICATE_PAYLOAD_RECORDS Found duplicate items in the payload (index 63 and 66), using className [cmdb_ci_print_queue] and fields [ip_address]. Remove duplicate items from the payload

Steps to Reproduce

Discover a Windows host using Patterns, that has lots of print queues. A customer example involved >1800 on one Windows Server, >600 of which had the same ip_address.
The Pattern will fail, and no CI is created/updated.

The payload given to the identification engine will include entries like this:

...{"className":"cmdb_ci_print_queue","values":{"name":"PRINTER1","ip_address":"10.1.1.1","sys_class_name":"cmdb_ci_print_queue"}},
{"className":"cmdb_ci_print_queue","values":{"name":"PRINTER2","ip_address":"10.1.1.1","sys_class_name":"cmdb_ci_print_queue"}},
{"className":"cmdb_ci_print_queue","values":{"name":"PRINTER3","ip_address":"10.1.1.1","sys_class_name":"cmdb_ci_print_queue"}},
{"className":"cmdb_ci_print_queue","values":{"name":"PRINTER4","ip_address":"10.1.1.1","sys_class_name":"cmdb_ci_print_queue"}},...

Application node logs will have errors like this:

2019-11-08 22:41:54 (292) worker.0 worker.0 txid=e6814081db05 SEVERE *** ERROR *** identification_engine : DUPLICATE_PAYLOAD_RECORDS Found duplicate items in the payload (index 63 and 65), using className [cmdb_ci_print_queue] and fields [ip_address]. Remove duplicate items from the payload
2019-11-08 22:41:54 (293) worker.0 worker.0 txid=e6814081db05 SEVERE *** ERROR *** identification_engine : DUPLICATE_PAYLOAD_RECORDS Found duplicate items in the payload (index 63 and 66), using className [cmdb_ci_print_queue] and fields [ip_address]. Remove duplicate items from the payload

Workaround

This problem is currently under review. You can contact ServiceNow Technical Support or subscribe to this Known Error article by clicking the Subscribe button at the top right of this form to be notified when more information will become available.

A workaround would be to add name to the CI Identifier's criteria:

  1. Go to Discovery Definition -> CI Identification -> Identifiers
  2. Open the one named "Print Queue"
    /cmdb_identifier.do?sys_id=75d8ca420f90220051a9fa6ce1050ee3
  3. Open the Identifier Entry in the related list
    /cmdb_identifier_entry.do?sys_id=6fe9c3c03746220006b216a543990eb7
  4. In the 'Criterion attributes' field, add 'name' to the existing 'ip_address' value, and save.

The Print Queue identifier is Independent, and this workaround is safe so long as all print queues do have a name.


Related Problem: PRB1374808

Seen In

There is no data to report.

Intended Fix Version

Paris

Safe Harbor Statement

This "Intended Fix Version" information is meant to outline ServiceNow's general product direction and should not be relied upon in making a purchasing decision. The information provided here is for information purposes only and may not be incorporated into any contract. It is not a commitment, promise, or legal obligation to deliver any material, code, or functionality. The development, release, and timing of any features or functionality described for our products remains at ServiceNow's sole discretion.

Associated Community Threads

There is no data to report.

Article Information

Last Updated:2019-11-28 01:41:15
Published:2019-11-28