Index: svn_1.5_releasenotes.html =================================================================== --- svn_1.5_releasenotes.html (revision 29775) +++ svn_1.5_releasenotes.html (working copy) @@ -38,6 +38,7 @@
  • Changelist support
  • Relative and peg URLs in svn:externals
  • FSFS sharding
  • +
  • FSFS immutable file separation
  • Command-line client improvements
  • API changes, improvements and language bindings
  • Easier to try out experimental ra_serf DAV access module
  • @@ -707,10 +708,11 @@ but of course, Subversion 1.5 will be able to continue using repositories employing the older scheme without any problem.

    -

    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.

    + +
    +

    FSFS Immutable File Separation (server)

    + +

    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".

    + +
    +