Index: svn_1.5_releasenotes.html =================================================================== --- svn_1.5_releasenotes.html (revision 29775) +++ svn_1.5_releasenotes.html (working copy) @@ -38,6 +38,7 @@
The primary reason for the change is to help support filesystems with -less-than-ideal large directory entry count performance. In addition, -certain third-party tools may work better with a sharded layout versus -an unsharded one.
+The primary reason for the change is to allow the revision count to +grow beyond the filesystem's (efficient) directory entry limit. While +modern filesystems can support millions of entries per directory, they +become slower and common administrative tools (e.g. directory +listings, backups) become unwieldy or fail completely.
For more information about the technical underpinnings of FSFS sharding, see this blog @@ -723,8 +725,36 @@ -->
+The shard size can by adjusted by editing the "layout sharded" line
+in "db/format" after svnadmin create
but before
+populating the repository.
The FSFS repositories never change a revision after it is written +to the disk. This should allow the operating system to cache these +files forever, but certain filesystems (e.g. NFS) prohibit such +caching by default. The FSFS repository layout has been changed such +that the immutable files are confined to the directories "db/revs" and +"db/txn-protorevs". This allows these directories to be on a mount +point where caching is enabled (on Linux look at the "nocto" option to +nfs(5)).
+ +Since commit transactions are now built up in "db/txn-protorevs" +instead of "db/transactions", the latter directory no longer needs to +be on the same mount point. If the repository is stored on a slower +filesystem (e.g. NFS), then commit performance can be improved by +moving the transactions directory to local disk (using a symbolic +link). If you are using multiple svn servers behind a network load +scaler, you must configure the load scaler to direct to the same +server for the duration of the transaction. This is typically called +"client affinity".
+ +