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 mr...@apache.org on 2017/10/31 15:26:05 UTC

svn commit: r1813891 - in /jackrabbit/oak/trunk/oak-doc/src/site/markdown: nodestore/documentmk.md osgi_config.md

Author: mreutegg
Date: Tue Oct 31 15:26:05 2017
New Revision: 1813891

URL: http://svn.apache.org/viewvc?rev=1813891&view=rev
Log:
OAK-6859: Schedule Revision GC in DocumentNodeStoreService

Update documentation

Modified:
    jackrabbit/oak/trunk/oak-doc/src/site/markdown/nodestore/documentmk.md
    jackrabbit/oak/trunk/oak-doc/src/site/markdown/osgi_config.md

Modified: jackrabbit/oak/trunk/oak-doc/src/site/markdown/nodestore/documentmk.md
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-doc/src/site/markdown/nodestore/documentmk.md?rev=1813891&r1=1813890&r2=1813891&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-doc/src/site/markdown/nodestore/documentmk.md (original)
+++ jackrabbit/oak/trunk/oak-doc/src/site/markdown/nodestore/documentmk.md Tue Oct 31 15:26:05 2017
@@ -632,13 +632,13 @@ Refer to [Secondary Store](document/seco
 As described in the section [Node Content Model](#node-content-model), the
 DocumentNodeStore does not overwrite existing data but adds it to an existing
 document when a property is updated. Cleaning up old data, which is not needed
-anymore is done with a process called `Revision Garbage Collection`. This
-process does not run automatically and must be triggered periodically by the
-application. The garbage collection process adds some pressure on the system,
-so the application should trigger it when it is most convenient. E.g. at night,
-when systems are usually not that busy. It is usually sufficient to run it once
-a day. There are several ways how the revision garbage collection can be
-triggered:
+anymore is done with a process called `Revision Garbage Collection`. Depending
+on deployment this process does not run automatically and must be triggered
+periodically by the application. The garbage collection process adds some 
+pressure on the system, so the application should trigger it when it is most 
+convenient. E.g. at night, when systems are usually not that busy. It is usually
+sufficient to run it once a day. There are several ways how the revision garbage
+collection can be triggered:
 
 * Call `startRevisionGC()` on the [RepositoryManagementMBean](http://jackrabbit.apache.org/oak/docs/apidocs/org/apache/jackrabbit/oak/api/jmx/RepositoryManagementMBean.html)
 * Call [gc()](http://jackrabbit.apache.org/oak/docs/apidocs/org/apache/jackrabbit/oak/plugins/document/VersionGarbageCollector.html#gc-long-java.util.concurrent.TimeUnit-) on the `VersionGarbageCollector` obtained from the `DocumentNodeStore` instance
@@ -685,13 +685,14 @@ MongoDB backend can be initiated with:
     
 This will collect changes identified as garbage, which is older than 24 hours.
 
-Starting with Oak 1.8 there is a new mode called `Continuous Revision Garbage
-Collection` available for OSGi deployments using a `DocumentNodeStoreService`.
-The new option `versionGCContinuous` is described in more detail on the [OSGi
-configuration][osgi-config] page. When enabled, the Revision GC is triggered
-automatically by a background thread every five seconds. In this mode, the
-Revision GC will not log every run but only write an INFO message every hour
-summarizing the GC cycles for the past hour.
+Starting with Oak 1.8 the DocumentNodeStoreService triggers Revision Garbage
+Collection (RGC) automatically. The default schedule depends on the type of
+backend.That is, on RDB the service will schedule a RGC daily at 2 AM. Whereas
+on MongoDB the RGC runs every five seconds. The latter is also known as 
+`Continuous Revision Garbage Collection`. In this mode, the RGC will not log
+every run but only write an INFO message every hour summarizing the GC cycles
+for the past hour.
+For more details, see also the [OSGi configuration][osgi-config] page. 
 
 [1]: http://docs.mongodb.org/manual/core/read-preference/
 [2]: http://docs.mongodb.org/manual/core/write-concern/

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=1813891&r1=1813890&r2=1813891&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 Tue Oct 31 15:26:05 2017
@@ -281,11 +281,21 @@ versionGcMaxAgeInSecs
   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)
 
-versionGCContinuous
-: Default false
-: Run Revision GC continuously as a scheduled task. By default this is disabled
-  and Revision GC must be triggered by the application when appropriate.
-: Since 1.7.4
+versionGCExpression
+: Default ""
+: A cron expression that defines when the Revision GC is scheduled. If this
+  configuration entry is left empty, the default value depends on the
+  `documentStoreType`. For `MONGO` the default is to schedule a run every five
+  seconds (also known as Continuous Revision Garbage Collection). For `RDB` the
+  default is to schedule a run once a day starting at 2 AM. The corresponding
+  cron expression is `0 0 2 * * ?`.
+: Since 1.7.11
+
+versionGCTimeLimitInSecs
+: Default 10800
+: A Revision GC run is canceled after this number of seconds. The default is
+  three hours.
+: Since 1.7.11
 
 journalGCMaxAge
 : Default 86400000 (24 hrs, was 6 hrs until 1.7.4)