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 "Composite Blob Store" by MattRyan
Date Tue, 15 Aug 2017 21:31:29 GMT
Dear Wiki user,

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

The "Composite Blob Store" page has been changed by MattRyan:

  Configuration specifies which delegate blob stores comprise the composite blob store, in
some order of preference.  The exact order is defined using a strategy pattern implementation
(see "Delegate Traversal" below) which can be customized by end users.  In the case of conflicting
delegates where there are multiple matches, the first matching delegate will generally be
the one used, although the traversal strategy implementation can provide different conflict
resolution behavior.
  NOTE:  (Thomas Mueller): What storage filter to use if the binary was created without node
(which is actually the normal case). What if the storage filter changes? Store it in multiple
locations? That would require more space which needs to be avoided (to save cost).
+ NOTE:  (Matt Ryan): I moved this concept to a rejected status for 1.8 and possible future
for > 1.8, let me know if this addresses your concerns for now.
- === Storage Filters ===
- NOTE:  (Matt Ryan): I'm including this here for consideration as a possible future feature.
 In today's implementation, binaries are usually created without providing any node information
- the node doesn't even exist at the time the binary is created.
- Configuration ''may'' also indicate "storage filters" - criteria that are evaluated by the
composite blob store to determine whether a delegate is a preferred location for a blob.
- Storage filters operate on any combination of the following:
-  * JCR path
-  * JCR node type
-  * Existence of JCR property
-  * JCR property value
  === Delegate Traversal ===
  "Delegate Traversal" refers to the logic that is used to go through delegates on a read
or write request to determine which delegate should be used for a request.  The algorithm
used to traverse delegates should be extensible with a reasonable default provided.  This
is effectively an implementation of the Strategy pattern.  Any user of the system could provide
their own implementation to deliver whatever custom logic they wish to provide.
@@ -114, +104 @@

  The composite blob store should do on-demand curation, meaning that it will initiate a background
move of an object whenever one is requested that is not in the correct location.  However,
doing ongoing or background processing of the entirety of all blob stores to evaluate whether
each is in the correct location is not in the scope of the composite blob store.  However,
it may be prudent to add common curators to the same package in Oak in future efforts.
  === Rejected Features ===
- For the initial implementation of composite blob store, the concept of [[Composite Blob
Store Storage Filters|storage filters]] was considered but rejected.
+  * For the initial implementation of composite blob store, the concept of [[Composite Blob
Store Storage Filters|storage filters]] was considered but rejected.
+  * There are currently no cold storage blob stores, so the concept of [[Composite Blob Store
Cold Storage Delegates|cold storage delegates]] was also rejected.
  == Use Cases ==
  === Replication Across Storage Regions ===

View raw message