doc: clarify the status of configuration of the obshashrange protocol stable
authorPierre-Yves David <pierre-yves.david@octobus.net>
Thu, 06 Jun 2019 14:32:25 +0200
branchstable
changeset 4664 a3f9f8d3bde5
parent 4663 a1a8adcd5155
child 4665 756db65030c6
doc: clarify the status of configuration of the obshashrange protocol
hgext3rd/evolve/__init__.py
--- a/hgext3rd/evolve/__init__.py	Thu Jun 06 13:26:44 2019 +0200
+++ b/hgext3rd/evolve/__init__.py	Thu Jun 06 14:32:25 2019 +0200
@@ -51,39 +51,38 @@
     # re-exchange all markers every time.
     evolution.obsdiscovery = yes
 
-Obsolescence Markers Discovery Experiment
-=========================================
+Obsolescence Markers Discovery
+==============================
 
-We are experimenting with a new protocol to discover common markers between
-local and remote repositories. This experiment is still at an early stage but
-is already raising better results than the previous version (when usable).
+The evolve extension containts an experimental new protocol to discover common
+markers between local and remote repositories.
 
-"Large" repositories (hundreds of thousand) are currently unsupported. Some key
-algorithm has a naive implementation with too aggressive caching, creating
-memory consumption issue (this will get fixed).
+"Large" repositories (hundreds of thousands) will take some time to warm the
+necessary cache. Some key algorithm has a naive implementation that can result
+in large memory or CPU Load.
 
-Medium sized repositories works fine, but be prepared for a noticeable initial
-cache filling. for the Mercurial repository, this is around 20 seconds
-
-The following config control the experiment::
+The following config controls the new protocol::
 
   [experimental]
 
   # enable new discovery protocol
-  # (needed on both client and server)
+  # default to "yes"
   obshashrange = yes
 
   # control cache warming at the end of transaction
-  #   yes:  warm all caches at the end of each transaction,
+  #   yes:  warm all caches at the end of each transaction
+  #         (recommended for server),
   #   off:  warm no caches at the end of transaction,
-  #   auto: warm cache at the end of server side transaction (default).
+  #         (no cache overhead during transaction,
+  #          but cache will be warm from scratch on usage)
+  #   auto: warm cache at the end of server side transaction(ie: push)
+  #         (default).
   obshashrange.warm-cache = 'auto'
 
-    $ hg debugupdatecache
+When you switch to using this protocol, we recommand that you explicitly warm
+cache for your server side repositories.::
 
-It is recommended to enable the blackbox extension. It gathers useful data about
-the experiment. It is shipped with Mercurial so no extra install is needed::
-    $ hg debugupdatecache
+  $ hg debugupdatecache
 
 It is recommended to enable the blackbox extension. It gathers useful data about
 the experiment. It is shipped with Mercurial so no extra install is needed::
@@ -104,7 +103,7 @@
     # ensuring no large repository will get affected.
     obshashrange.max-revs = 100000 # default is None
 
-For very large repositories. it is currently recommended to disable obsmarkers
+For very large repositories, it might be useful to disable obsmarkers
 discovery (Make sure you follow release announcement to know when you can turn
 it back on)::