Hives

A hive is a computer location where StarTeam Server stores archive files and a cache. These items are contained in the Archives and Cache folders. For example, if you created a server configuration named MyConfiguration and located it on the root of your C:\ drive, by default, StarTeam Server generates a folder under C:\MyConfiguration named DefaultHive containing Archives and Cache subfolders. The DefaultHive folder and its subfolders represent the hive.

StarTeam Server Native-II vaults can have any number of hives, each of which has its own archives and cache. If one hive fills up, you can add another without having to change any data locations or move any archive files. Companies with large files or large numbers of files can start off with more than one hive in the first place. They can even put the archives and cache on different drives or volumes (this is recommended).

Native-II vaults store each file revision in its entirety (even though the archive file may be compressed). This means that the Native-II vault eventually takes more space; however, you can spread the revisions over many drives or volumes by the use of hives for storage. This flexibility in using storage space becomes a greater benefit over time as hives become full.

When a server configuration has multiple hives, the Server adds files to each hive in turn before reusing the archive path of the first hive. If you are running a StarTeam client against a StarTeam Server and if a StarTeam Server configuration has more than one hive, then the Server does a round-robin as it stores files but it checks first to see that no hive already has this file before the client attempts to stream the file to the server.

When you create a server configuration, it automatically has at least one hive (either the default or a custom hive). To increase the amount of available space for this server configuration, you can add one or more new hives with the Hive Manager dialog. When remotely accessing a server configuration, you can create hives while the server configuration is running, because the configuration already has an initial path, if only to a DefaultHive in the repository path.

You can also use the Hive Manager dialog to change an individual archive path and/or cache path for a hive. Such changes should be done only when that hive must be moved. For example, you might move a hive as a result of a drive failure. You would also need to copy the contents of the archive path for that hive to the new location.

We recommend that the Archives and Cache volumes from one server configuration should not be mapped to Archives and Cache volumes from any other server configuration. Otherwise, the threshold settings on the Archives folders will not be calculated as accurately. This is because the server checks the available disk space when starting a server configuration, and it caches the value returned. As files are added or removed, for cache cleanup, the server adjusts the available space and determines if the threshold has been exceeded. Because of performance concerns, the threshold value is cached instead of checked every time a file is added or removed. The threshold value is a guideline used by the server to determine when to no longer place files in a particular hive. It is not meant to be an absolute cutoff.

Also, if the server believes that the threshold may have been crossed based on the cached available space, it will do one more check and query the file system as it does at startup to make sure current available disk space is correct before pulling the trigger on the hive. Accordingly, since the threshold value is tracked on a per-server-configuration-basis, in order for threshold calculation to be as accurate as possible (thus reducing the number of times the file system is checked for available space), we recommend that each server configuration point its hives to independent volumes.