View Issue Details

IDProjectCategoryView StatusLast Update
0001167savapage-core[All Projects] Generalpublic2021-02-15 18:29
ReporterrijkrAssigned Torijkr 
PrioritynormalSeverityminorReproducibilitysometimes
Status resolvedResolutionfixed 
Product Version1.2.0 
Target Version1.3.0Fixed in Version1.3.0 
Summary0001167: Enforce time sequence on print-in documents
DescriptionIST: 100% lastModified accuracy is crucial for the detection and handling of newly print-in converted PDF files in a user context. If a newly print-in PDF file has an older lastModified time then the previous printed-in PDF, it will not be detected as newly added PDF. Even worse, SavaPage will mistakingly identify an already printed-in PDF with the most recent lastModified as newly added (again). This inconsistency inevitably leads to misinterpretation and processing errors.
When print-in files are offered right after each other or in one go, like Web Print with multiple file selection (?), print-in processing is continuous or might even be concurrent. In this case, there is a risk that even a minor inaccuracy (only a few milliseconds will do) of the implicitly assigned lastModified time of a print-in converted PDF will disrupt the assumption that the real-time sequence of PDF transfer to the user's SafePages inbox is in line with the lastModified time of each PDF involved.
Also, from File.lastModified() javadoc: "While the unit of time of the return value is milliseconds, the granularity of the value depends on the underlying file system and may be larger. For example, some file systems use time stamps in units of seconds." So, different file systems have different lastModified precision: XFS and EXT3 (1 second), EXT4 (1 millisecond).

SOLL-1: Enforce best-effort time sequencing by explicitly setting lastModified time with System.currentTimeMillis().
SOLL-2: Do not depend on lastModified time to detect newly added PDF files. Consider all inbox PDF files and handle all files that were not previously detected.
TagsNo tags attached.

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2021-02-14 21:14 rijkr New Issue
2021-02-14 21:14 rijkr Status new => assigned
2021-02-14 21:14 rijkr Assigned To => rijkr
2021-02-15 14:23 rijkr Description Updated View Revisions
2021-02-15 14:24 rijkr Description Updated View Revisions
2021-02-15 18:19 rijkr Status assigned => resolved
2021-02-15 18:19 rijkr Resolution open => fixed
2021-02-15 18:19 rijkr Fixed in Version => 1.3.0