Task #10630 (new)
Opened 11 years ago
Last modified 9 years ago
RFE: Postpone checksum calculation until after import
Reported by: | mtbcarroll | Owned by: | jamoore |
---|---|---|---|
Priority: | major | Milestone: | Asynchronous |
Component: | Import | Version: | 4.4.9 |
Keywords: | n.a. | Cc: | fs@… |
Resources: | n.a. | Referenced By: | n.a. |
References: | n.a. | Remaining Time: | n.a. |
Sprint: | n.a. |
Description
An effect of #10602 was that in import it would have been possible for the files in a fileset to report correct checksums to the client but for there to be corruption in the resulting files in the managed repository.
The corruption would have been detected if the checksum calculation had been moved out of the per-file RawFileBean.save() and out to a process that calculates the checksums only when all the uploads are complete.
(The problem was that different files in the fileset could be uploaded to the same path on the server: the mismatch only triggered when a smaller file overwrote a previous larger file, but the converse could also occur.)
Change History (5)
comment:1 Changed 11 years ago by jamoore
- Milestone changed from Unscheduled to 5.0.0-beta2
- Priority changed from minor to major
- Version set to 4.4.9
comment:2 Changed 11 years ago by mtbcarroll
comment:3 Changed 11 years ago by jamoore
- Milestone changed from 5.0.0-beta2 to 5.0.0-beta3
comment:4 Changed 10 years ago by jamoore
- Milestone changed from 5.1.0 to 5.x
comment:5 Changed 9 years ago by jamoore
- Milestone changed from 5.x to Asynchronous
Possibly better would be to keep checksum checking in RawFileBean to cover for non-image/import file upload use cases, but, for instance, after a multi-file upload (viz. import fileset) to take a second cheap look at file modification times or somesuch, to make sure that they are all as expected. (A file system may regard file paths as referring to the same file even if the strings differ.)
The raw file store API intended semantics are of relevance here: is a client even supposed to be able to re-write to a pre-existing file?