Documentation

Support

Unity Version Control

Configure repository storage

Configure the backend for the storage of repositories.
Read time 2 minutesLast updated 21 days ago

Configure the Unity Version Control (UVCS) back end. UVCS uses its own back end, Jet, as storage for repositories. Jet works to specifically deal with the way UVCS handles data reads and writes. For UVCS On-Prem, Jet uses high-scalability workload. Configure UVCS to work with Jet in one of the following ways:

Use the server administration console

  1. Launch the server administration console.
  2. Select Configuration > Repository storage.
  3. If the server is configured to work with another back end, change to the Jet repository storage:
    • Select Change storage.
    • Select Jet as your new repository storage.
    • Enter a database path. If you leave the path empty, UVCS saves the databases under the
      server
      folder in the UVCS installation directory.
    • Choose whether you want to Migrate existing repositories or start with new empty repositories.
    • Select Change storage to change to the new storage. Note: To migrate your data, you need to stop the UVCS server which can take time if your repositories have lots of data. While the migration runs, your users can't access the UVCS server.
  4. Configure the values for the following parameters:
    • Database path
      - Set the directory where Jet back end stores the files. Warning: Changing this path doesn't perform any actions on disk. This means that you need to manually move the repository data files unless you want to discard the repositories.
    • Max size of blob files
      - Specify the maximum size in GB for blob files, which store versioned file contents. Once the maximum size (in GB) for a file is reached, UVCS creates a new file so files don't grow too large for the underlying file system.
    • Max cached trees
      - Specify the maximum number of changesets whose directory trees are cached to reduce disk access. This value enables you to balance performance and memory usage.

Use the
jet.conf
file

Edit or create the
jet.conf
file under the
server
folder in the UVCS installation directory to configure Jet.
The only required parameter is
basepath
. Use the
basepath
parameter to specify where to store the repositories data files.

Optional parameters

Optionally, you can also configure the following parameters:

Parameter

Description

Usage

blobspath
Specify the path where Jet stores blobs.Allows you to store blobs and metadata in different paths. The recommended best practice is to store blobs in slower or cheaper storage than metadata to avoid excessive storage costs.
prefix
Create a prefix for the database name.Useful if you have multiple UVCS servers to avoid database name conflicts.
suffix
Append a string to the name of every database that UVCS creates on the back end.Helps prevent interference if you use the same back end for multiple servers.
datafilesize
Define the maximum size (in GB) for each repository's blob file.Creates new files once the limit is reached to prevent individual files from becoming too large for the file system.
maxcachedtrees
Specify the maximum number of changesets with cached directory trees.Reduces disk access and balances memory usage to improve performance.
maxcachessizeingb
Define the maximum memory (in GB) that caches use.Limits the amount of memory used by caches to optimize system memory consumption.
maxcachessizefreepercent
Defines the percentage of a cache to clean when memory usage exceeds the limit.Helps manage memory by Cleans the least recently used repositories when the set memory limit is exceeded (the default is 25%) to manage memory. . Memory doesn't release until the garbage collector runs a full collection.

Example
jet.conf
files

basepath=/mnt/metadatablobspath=/mnt/blobsmaxcachedtrees=50datafilesize=4
basepath=c:\Users\maria\plasticdbprefix=zerosuffix=
basepath=/mnt/datamaxcachessizeingb=2maxcachessizefreepercent=30