jackrabbit-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Jackrabbit Wiki] Update of "Overlay Blob Store" by MattRyan
Date Mon, 24 Jul 2017 23:51:08 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Jackrabbit Wiki" for change notification.

The "Overlay Blob Store" page has been changed by MattRyan:
https://wiki.apache.org/jackrabbit/Overlay%20Blob%20Store

New page:
= Overlay Blob Store =

== Overview ==
The overlay blob store is a multi-source blob store - a logical blob store consisting of at
least two delegate blob stores.  In the case of the overlay blob store, the union of all the
data in all the delegate blob stores is presented to a user of the overlay blob store as a
single logical "view" of the data being stored.

Example:

'''Delegate Blob Store A'''
 * FileA
 * FileC
 * FileE

'''Delegate Blob Store B'''
 * FileB
 * FileE
 * FileF
 * FileG

'''Overlay Blob Store View'''
 * FileA
 * FileB
 * FileC
 * FileE
 * FileF
 * FileG

The delegates for the overlay blob store are specified in configuration.  Part of the configuration
must include an indication of the priority of each delegate blob store.  Reads and writes
will be attempted in the order specified by the priority.

=== Reads ===
The overlay blob store fulfills read requests by attempting to satisfy the read request from
each delegate.  The read is issued to each delegate in priority order.  Once a read is successfully
satisfied by a delegate, the result of the delegate read is returned as the result of the
overlay blob store read and no subsequent reads are attempted for that request.  It is possible
for a blob to exist in more than one delegate.

=== Writes ===
The overlay blob store fulfills write requests by attempting to write to each delegate in
priority order.  Once a write is successfully satisfied by a delegate, the result of the delegate
write is returned as the result of the overlay blob store write and no subsequent writes are
attempted for that request.

=== Read-Only Delegates ===
The overlay blob store supports the notion of a read-only delegate blob store.  One or more
of the delegate blob stores can be configured in read-only mode, meaning that it can be used
to satisfy read requests but not write requests.  An example use case for this scenario is
where two content repositories are used, one for a production environment and one for a staging
environment.  The staging repository can be configured with an overlay blob store that accesses
to the production storage location in read-only mode, so tests can execute in staging using
production data without modifying production data or the production store.

Reads issued to a read-only delegate would be processed as normal.  Writes issued to a read-only
delegate would fail, causing the overlay blob store to move on to the next delegate to attempt
to fulfill the write request.

Note that configuring all delegates of an overlay blob store would make the blob store useless
for storing blobs and thus should not be an allowed condition - at least one delegate blob
store must not be a read-only delegate.

Mime
View raw message