Patchwork [2,of,2,remotefilelog] README: specify how to use memcached caching

login
register
mail settings
Submitter Mathias De Maré
Date Sept. 29, 2015, 6:02 a.m.
Message ID <4434e76fe9543a120404.1443506550@mathias-VirtualBox>
Download mbox | patch
Permalink /patch/10680/
State Not Applicable
Headers show

Comments

Mathias De Maré - Sept. 29, 2015, 6:02 a.m.
# HG changeset patch
# User Mathias De Maré <mathias.demare@gmail.com>
# Date 1443505828 -7200
#      Tue Sep 29 07:50:28 2015 +0200
# Node ID 4434e76fe9543a120404b5c261ae983511d4687d
# Parent  e628ae9c436be1f13f0bef2247cbdc6abf6adc9a
README: specify how to use memcached caching
Durham Goode - Oct. 7, 2015, 3:27 a.m.
On 9/28/15 11:02 PM, Mathias De Maré wrote:
> # HG changeset patch
> # User Mathias De Maré <mathias.demare@gmail.com>
> # Date 1443505828 -7200
> #      Tue Sep 29 07:50:28 2015 +0200
> # Node ID 4434e76fe9543a120404b5c261ae983511d4687d
> # Parent  e628ae9c436be1f13f0bef2247cbdc6abf6adc9a
> README: specify how to use memcached caching
>
> diff -r e628ae9c436b -r 4434e76fe954 README.md
> --- a/README.md	Tue Sep 29 07:48:58 2015 +0200
> +++ b/README.md	Tue Sep 29 07:50:28 2015 +0200
> @@ -38,7 +38,7 @@
>   * `cachepath` (required) - the location to store locally cached file revisions
>   * `cachelimit` - the maximum size of the cachepath. By default it's 1000 GB.
>   * `cachegroup` - the default unix group for the cachepath. Useful on shared systems so multiple users can read and write to the same cache.
> -* `cacheprocess` - the external process that will handle the remote caching layer. If not set, all requests will go to the Mercurial server.
> +* `cacheprocess` - the external process that will handle the remote caching layer. If not set, all requests will go to the Mercurial server. To use memcached caching, you can set this to `path/to/remotefilelog/remotefilelog/cacheclient.py memcachedip:memcachedport memcachedprefix`
I've pushed the first patch in this series.

For the second patch, cacheclient.py was really meant to just be an 
example implementation.  I don't think it's robust or performant enough 
for us to want to advertise it for actual use.

If you've used it enough to prove it's better than falling back to the 
server (and that's it's robust enough in regular usage), I might 
consider adding it here.

Patch

diff -r e628ae9c436b -r 4434e76fe954 README.md
--- a/README.md	Tue Sep 29 07:48:58 2015 +0200
+++ b/README.md	Tue Sep 29 07:50:28 2015 +0200
@@ -38,7 +38,7 @@ 
 * `cachepath` (required) - the location to store locally cached file revisions
 * `cachelimit` - the maximum size of the cachepath. By default it's 1000 GB.
 * `cachegroup` - the default unix group for the cachepath. Useful on shared systems so multiple users can read and write to the same cache.
-* `cacheprocess` - the external process that will handle the remote caching layer. If not set, all requests will go to the Mercurial server.
+* `cacheprocess` - the external process that will handle the remote caching layer. If not set, all requests will go to the Mercurial server. To use memcached caching, you can set this to `path/to/remotefilelog/remotefilelog/cacheclient.py memcachedip:memcachedport memcachedprefix`
 * `fallbackpath` - the Mercurial repo path to fetch file revisions from. By default it uses the paths.default repo. This setting is useful for cloning from shallow clones and still talking to the central server for file revisions.
 * `includepattern` - a list of regex patterns matching files that should be kept remotely. Defaults to all files.
 * `excludepattern` - a list of regex patterns matching files that should not be kept remotely and should always be downloaded.