OCFL / ocfl-java

A Java OCFL implementation
MIT License
18 stars 12 forks source link

performance improvements when copying or streaming new files #46

Closed pwinckles closed 2 years ago

pwinckles commented 2 years ago
  1. Added verifyStaging configuration option, which controls whether the contents of a newly constructed version are verified immediately prior to moving the version into the object. Default: true
  2. Added verifyInventoryDigest configuration option, which controls whether inventory digests are verified on read. Default: true
  3. Removed checkNewVersionFixity configuration option. This option was disabled by default and controlled whether or not staged content files had their digests checked immediately prior to moving them into the object. This check was completely removed.
  4. Removed unneeded file existence checks
  5. DefaultOcflObjectUpdater.writeFile() now streams the file directly the its staging location rather than a temp location first
  6. Updating objects by copying files now computes the digest of the files while copying into staging and then deletes the file after the copy if it's a dup, rather than computing the digest first and then deciding whether to copy.
  7. Streamlined the S3 logic, reducing the number of list operations, particularly when reading an inventory.