You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by ch...@apache.org on 2014/06/25 12:29:32 UTC
svn commit: r1605325 - in /jackrabbit/oak/trunk/oak-doc/src/site/markdown:
osgi_config.md plugins/blobstore.md
Author: chetanm
Date: Wed Jun 25 10:29:32 2014
New Revision: 1605325
URL: http://svn.apache.org/r1605325
Log:
OAK-301 : oak docu
Modified:
jackrabbit/oak/trunk/oak-doc/src/site/markdown/osgi_config.md
jackrabbit/oak/trunk/oak-doc/src/site/markdown/plugins/blobstore.md
Modified: jackrabbit/oak/trunk/oak-doc/src/site/markdown/osgi_config.md
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-doc/src/site/markdown/osgi_config.md?rev=1605325&r1=1605324&r2=1605325&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-doc/src/site/markdown/osgi_config.md (original)
+++ jackrabbit/oak/trunk/oak-doc/src/site/markdown/osgi_config.md Wed Jun 25 10:29:32 2014
@@ -76,6 +76,24 @@ customBlobStore
: Default false
: Boolean value indicating that custom `BlobStore` to use. By default it uses `MongoBlobStore`.
+maxReplicationLagInSecs
+: Default 21600 (6 hours)
+: Determines the duration beyond which it can be safely assumed that state on secondary would be consistent
+ with primary and its safe to read from them. (See [OAK-1645][OAK-1645])
+
+blobGcMaxAgeInSecs
+: Default 86400 (24 hrs)
+: Blob Garbage Collector (GC) logic would only consider those blobs for GC which are not accessed recently
+ (currentTime - lastModifiedTime > blobGcMaxAgeInSecs). For example as per default only those blobs which have
+ been created 24 hrs ago would be considered for GC
+
+versionGcMaxAgeInSecs
+: Default 86400 (24 hrs)
+: Oak uses MVCC model to store the data. So each update to a node results in new version getting created. This
+ duration controls how much old revision data should be kept. For example if a node is deleted at time T1 then its
+ content would only be marked deleted at revision for T1 but its content would not be removed. Only when a Revision
+ GC is run then its content would removed and that too only after (currentTime -T1 > versionGcMaxAgeInSecs)
+
Example config file
mongouri=mongodb://localhost:27017
@@ -237,4 +255,5 @@ For example by default Sling sets **repo
need not be specified in config files
[1]: http://docs.mongodb.org/manual/reference/connection-string/
-[2]: http://jackrabbit.apache.org/api/2.4/org/apache/jackrabbit/core/data/FileDataStore.html
\ No newline at end of file
+[2]: http://jackrabbit.apache.org/api/2.4/org/apache/jackrabbit/core/data/FileDataStore.html
+[OAK-1645]: https://issues.apache.org/jira/browse/OAK-1645
\ No newline at end of file
Modified: jackrabbit/oak/trunk/oak-doc/src/site/markdown/plugins/blobstore.md
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-doc/src/site/markdown/plugins/blobstore.md?rev=1605325&r1=1605324&r2=1605325&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-doc/src/site/markdown/plugins/blobstore.md (original)
+++ jackrabbit/oak/trunk/oak-doc/src/site/markdown/plugins/blobstore.md Wed Jun 25 10:29:32 2014
@@ -58,6 +58,24 @@ point, see also http://en.wikipedia.org/
must use the SHA-2 family of hash functions for these applications
after 2010". This might affect some potential users.
+### Blob Garbage Collection
+
+Oak implements a Mark and Sweep based Garbage Collection logic.
+
+1. Mark Phase - In this phase the binary references are marked in both
+ BlobStore and NodeStore
+ 1. Mark BlobStore - GC logic would make a record of all the blob
+ references present in the BlobStore. In doing so it would only
+ consider those blobs which are older than a specified time
+ interval. So only those blob references are fetched which are
+ last modified say 24 hrs (default) ago.
+ 2. Mark NodeStore - GC logic would make a record of all the blob
+ references which are referred by any node present in NodeStore.
+ Note that any blob references from old revisions of node would also be
+ considered as a valid references.
+2. Sweep Phase - In this phase all blob references form Mark BlobStore phase
+ which were not found in Mark NodeStore part would considered as GC candidates
+ and would be deleted.
### Support for Jackrabbit 2 DataStore