Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Excerpt

Large files can be uploaded via the REST API, or projected into the repository using filesystem federation.

Java command-line options and System properties can be used

  • -Xmx2048m – maximum memory Java can use
  • -Dfcrepo.home=/path/to/data – set the directory for permanent data
  • -Djava.io.tmpdir=/path/to/tmpdir – set the directory for temp files

Warning
titleOutOfMemoryException when ingesting large files

Because of https://issues.jboss.org/browse/MODE-2103, ingesting files larger than Java heap space with certain Infinispan configuraitons (e.g. LevelDB) creates an OutOfMemoryError.  The following TestCase can be used to reproduce the issue: https://github.com/futures/large-files-test

Workaround: Use Infinispan file storage with a large heap, e.g.:

-Xmx2048m -Dfcrepo.modeshape.configuration=config/single-file/repository.json

...

Based on the tests below, we believe arbitrarily-large files can be ingested and downloaded via the REST API (tested up to 1TB).  The only apparent limitations are disk space available to store the files, and a sufficiently large Java heap size (tested with -Xmx2048m).

REST API Upload/Download Roundtrip

...

Based on the tests below, we believe arbitrarily-large files can be projected into the repository via filesystem federation and downloaded via the REST API (tested up to 1TB).  The only apparent limitations are disk space available to store the files, and a sufficiently large Java heap size (tested with -Xmx2048m).

Filesystem Federation Download Tests

...