Versions Compared

Key

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

...

Code Block
languagebash
> ls fcrepo4-data/fcrepo.ispn.repo.CacheDirPath/FedoraRepository/
1008466944
1016939520
102151168
-1022408704
1028132864
1036310528
1040946176
...

These generated files contain serialized data about each of the JCR/Fedora nodes. Running the cURL command above, for example, generates binary files such as the 2 pasted below. After some editing for readability, the object and datastream text is highlighted in bold to show data of interest. The grayed out text refers to Modeshape classes responsible for data representation and serialization. 

(question) How does an admin determine which of the files listed in the directory above map to Fedora nodes? In other words, what is the algorithm for generating these filenames?

(question) The pasted text in boxes below need detailed description. They are not fully "self-evident".

87a0a8c7505d64 refers to root node UUID:

...

File system Backends

LevelDB

...

...

Specifying fcrepo.ispn.repo.CacheDirPath=/tmp/FedoraRepo would result in a directory with LevelDB artifacts, such as files 000003.log.

Currently, the default configuration outputs Fedora data to LevelDB (a fast filesystem based key-value store). When Fedora 4 is started, ModeShape (actually Infinispan and LevelDB in the background) will create several directories on the filesystem. Currently, the directories created are:

...

Using the Infinispan 6.x deprecated FileCacheStore (specified via file/infinispan.xml, currently our ModeShape is on 5.x) results in creation of hundreds of binary files (compared to LevelDB). A hashing algorithm is used to map keys to buckets. The value files contain serialized ModeShape objectsnodes. The key files can be read using org.infinispan.schematic.internal.document.BsonReader. (It does not seem possible to read these files using existing bson tools, like mongoDB bsondump, but further inspection is needed.)

...