Warning: Can't synchronize with repository "(default)" (/home/git/ome.git does not appear to be a Git repository.). Look in the Trac log for more information.
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 #10338 (new)

Opened 11 years ago

Last modified 11 years ago

Checksum choice on import — at Version 12

Reported by: bpindelski Owned by:
Priority: major Milestone: 5.0.0-beta1
Component: OmeroFs Version: n.a.
Keywords: n.a. Cc: fs@…
Resources: n.a. Referenced By: n.a.
References: n.a. Remaining Time: n.a.
Sprint: FS Demo 3

Description (last modified by bpindelski)

The user should be able to select a specific checksum algorithm (being aware of the speed/reliability trade-off - that will have to be added to the docs) to be used system-wide. This information has to be passed to the lower layers to init the checksum class with a specific algorithm. The setting should be changeable through the CLI interface.

In a later stage we might want an extra setting of the algorithm for non-image files (i.e. weaker checksum for .doc etc. files).

Change History (12)

comment:1 Changed 11 years ago by jmoore

  • Sprint set to FS Demo 2

comment:2 Changed 11 years ago by jmoore

  • Sprint FS Demo 2 deleted
  • Summary changed from Bug: Checksum choice on import to Checksum choice on import

Blazej, I'm going to be slightly more optimistic and say this isn't a bug but a new feature! :) Also moving out of the demo 2 sprint. Haven't created a demo 3 sprint, but likely we can move it there, no?

comment:3 Changed 11 years ago by bpindelski

Good call, Josh. It is indeed new code that's being added to address this issue.

comment:4 Changed 11 years ago by jmoore

  • Sprint set to FS Demo 3

comment:5 Changed 11 years ago by mtbcarroll

  • Cc mtbcarroll added

comment:6 Changed 11 years ago by mtbcarroll

In making the checksum algorithm client-selectable an obvious issue is how to adjust the API of raw file stores, because they have checksumming built in. Presumably one needn't select an algorithm for reading. At the moment, the checksumming starts on the first write.

For code that shouldn't allow algorithm selection, I'd prefer to hard-code the selection in the caller rather than having raw file stores default to SHA-1 (maybe scripts, user pics?), because then it forces callers to think about the choice and prevents us from accidentally defaulting when we meant to pass in the selection.

Would it be okay to add a setChecksumAlgorithm or suchlike to the raw file store operations: it must be called before the first write? For normal imports, I'd guess that the algorithm can be chosen in ImportSettings and then ManagedImportProcessI or somesuch could set the algorithm on clients' behalf when handing them a store for each file they upload.

comment:7 Changed 11 years ago by mtbcarroll

  • Cc fs@… added; mtbcarroll removed

comment:8 Changed 11 years ago by mtbcarroll

The latest commit at http://github.com/mtbc/openmicroscopy/commits/checksum-selection-server (including the commit message) shows the current state of my work, in case it needs to be picked up and made at least somewhat usable while I am away this week.

comment:9 Changed 11 years ago by jamoore

Mark: since RFS isn't responsible for creating the original files, is there anything wrong with doing the algorithm detection via the OriginalFile instance itself?

comment:10 Changed 11 years ago by mtbcarroll

That sounds like an excellent idea that should reduce the changes and complexity. I will give it a try.

comment:11 Changed 11 years ago by mtbcarroll

https://github.com/openmicroscopy/openmicroscopy/pull/995 includes the model changes for storing checksum choice in OriginalFile.

comment:12 Changed 11 years ago by bpindelski

  • Description modified (diff)
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.92896 sec.)

We're Hiring!