Notice: In order to edit this ticket you need to be either: a Product Owner, The owner or the reporter of the ticket, or, in case of a Task not yet assigned, a team_member"

Task #10630 (new)

Opened 7 years ago

Last modified 4 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 6 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 6 years ago by mtbcarroll

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?

comment:3 Changed 6 years ago by jamoore

  • Milestone changed from 5.0.0-beta2 to 5.0.0-beta3

comment:4 Changed 5 years ago by jamoore

  • Milestone changed from 5.1.0 to 5.x

comment:5 Changed 4 years ago by jamoore

  • Milestone changed from 5.x to Asynchronous
Note: See TracTickets for help on using tickets. You may also have a look at Agilo extensions to the ticket.

1.3.13-PRO © 2008-2011 Agilo Software all rights reserved (this page was served in: 0.79724 sec.)

We're Hiring!