Delay in print processing may cause print jobs not to finish in time

This document (000020365) is provided subject to the disclaimer at the end of this document.

Environment

SUSE Linux Enterprise Server 15 SP3
SUSE Linux Enterprise Server 15 SP2

Situation

When updating to SUSE Linux Enterprise Server 15 SP2 or SP3 with cups 2.2.7, a delay in processing print jobs is observed if the file /etc/cups/printers.conf contains a high number of printer entries. While the overall delay of processing is only a second per job, this may lead to significant delays while processing print jobs in total. This delay is not seen when comparing to older cups versions (e.g. 1.7 available in SLES 12) or newer upstream versions. 

Resolution

A Program Temporary Fix is available upon request. Please open a service request in case this issue is experienced. 

Cause

The issue was identified by the upstream cups project and a fix was introduced in cups-2.2.8:

The cupsCreateJob, cupsPrintFile2, and cupsPrintFiles2 APIs did not use the supplied HTTP connection (Changelog )

Status

Reported to Engineering

Additional Information

When looking at an strace output of an lpr command, a high number of recvfrom is seen:

localhost:~ # strace -c lpr -Ppdfprint /etc/hosts
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
99.96    0.613015           1    451790         5 recvfrom
[...]
------ ----------- ----------- --------- --------- ----------------
100.00    0.613264                452291        19 total


The code was changed from using cupsEnumDests (which called cups_create_cb a very high amount of times to get the destination of a printer) to cupsGetNamedDest which reduced the number of calls tremendously. 

After installing the fix:

localhost:~/PTF-1189517-cups_slow # strace -c lpr -Ppdfprint /etc/hosts
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
95.50    0.008879           1      5580         4 recvfrom
[...]
------ ----------- ----------- --------- --------- ----------------
100.00    0.009297                  6018        20 total


Please note: Above values have been captured on a test system and may not reflect production systems!

Disclaimer

This Support Knowledgebase provides a valuable tool for SUSE customers and parties interested in our products and solutions to acquire information, ideas and learn from one another. Materials are provided for informational, personal or non-commercial use within your organization and are presented "AS IS" WITHOUT WARRANTY OF ANY KIND.

  • Document ID:000020365
  • Creation Date: 14-Sep-2021
  • Modified Date:15-Sep-2021
    • SUSE Linux Enterprise Server

< Back to Support Search

For questions or concerns with the SUSE Knowledgebase please contact: tidfeedback@suse.com

SUSE Support Forums

Get your questions answered by experienced Sys Ops or interact with other SUSE community experts.

Join Our Community

Support Resources

Learn how to get the most from the technical support you receive with your SUSE Subscription, Premium Support, Academic Program, or Partner Program.


SUSE Customer Support Quick Reference Guide SUSE Technical Support Handbook Update Advisories
Support FAQ

Open an Incident

Open an incident with SUSE Technical Support, manage your subscriptions, download patches, or manage user access.

Go to Customer Center