On Mon, May 19, 2014 at 3:29 PM, Marc Pfaff <pfa...@adobe.com> wrote: > For SegmentNodeStore my research > ends up in FileBlobStore and for the DocumentNodeStore it appears to be > the MongoBlobStore. Is that correct?
SegementNodeStore does not uses BlobStore by default. Instead all the binary content is stored as part of segment data itself. Sofollowing points can be noted for BlobStore 1. SegmentNodeStore does not require BlobStore by default 2. DocumentNodeStore uses MongoBlobStore by default 3. Both can be configured to use a BlobStore via OSGi config >* I was only able to find the FileBlobStoreService that registers the > FileBlobStore as an OSGi service. I was not able to find more BlobStore > implementations to be exposed in OSGi. Are there any more? And how about > the MongoBlobStore in particular? MongoBlobStore is not configured as an explicit service instead is used as the default fallback option if no other BlobStore is configured. As it just requires Mongo connection detail, it is currently configured along with MongoDocumentStore in DocumentNodeStore There is AbstractDataStoreService which wraps JR2 DataStore as BlobStore and configures and registers them with OSGi. it currently support FileDataStore and S3DataStore. Note that FileDataStore is currently preferred over FileBlobStore > The DocumentNodeStoreService references the same blob store service as > the SegmentNodeStoreService. As I'm not able to find the MongoBlobStore > exposed as service, does that mean the DocumentNodeStore uses the > FileBlobStore No. The MongoBlobStore is configured implicitly in org.apache.jackrabbit.oak.plugins.document.DocumentMK.Builder#setMongoDB(com.mongodb.DB, int). So unless a BlobStore is explicitly configured DocumentNodeStore would use MongoBlobStore. > Both, the SegmentNodeStoreService and the DocumentNodeStoreService > appear to check for 'custom blob store' property but both components do > not expose such a property? And how would they select from a specific > BlobStore service? Here there is an assumption that system has only one BlobStore registered with OSGi Service Registry. If multiple BlobStore services are registered then you can possibly specify a specific one by configuring the 'blobStore.target' to the required OSGi service filter (DS 112.6 of OSGi Compedium) Chetan Mehrotra