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