DirtyCleanInterval should be 0 by default
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
cups (Ubuntu) |
Fix Released
|
Low
|
Till Kamppeter |
Bug Description
Please consider changing DirtyCleanInterval value to 0 as default.
Otherwise if cupsd crashes due to (e.g. OOM killer) under a heavy workload even hundreds of jobs may be lost. This concern is backed up by a real-life scenario and leaves the client sending thousands of jobs unaware that many of them are lost during a crash.
After cupsd gets restarted it rewinds it's job counter to the last cached and continues unaware about the jobs accepted and lost.
Having DirtyCleanInterval set to 0 will cause some performance impact, but not significant under lighter workloads and a completely justified price for reliability under heavy workloads.
Test scenario:
1. sudo apt install printer-
2. while [ 1 ]; do lp -d PDF somepdf.pdf; done;
3. # on other terminal
kill -9 $(pidof cupsd)
4. Note last job number and wait for cupsd to be restarted by systemd.
5. Once accepting jobs is resumend the job counter is rewound.
Expected behavior:
Accepted jobs are queued for processing.
Actual behavior:
Some accepted jobs are lost.
no longer affects: | cups (Ubuntu Xenial) |
no longer affects: | cups (Ubuntu Bionic) |
no longer affects: | cups (Ubuntu Cosmic) |
no longer affects: | cups (Ubuntu Disco) |
tags: | added: rls-nn-incoming |
tags: | removed: rls-nn-incoming |
Changed in cups (Ubuntu): | |
assignee: | nobody → Till Kamppeter (till-kamppeter) |
tags: | added: sts |
Status changed to 'Confirmed' because the bug affects multiple users.