Gerrit configuration properties

Gerrit provides many configuration options. In addition, CollabNet Gerrit plugins also have configuration options.

For more information on Gerrit's configuration options, see Gerrit Code Review - Configuration. In addition, see Gerrit performance cheat sheet to know more about tuning Gerrit for optimal performance.

CollabNet Gerrit plugins have these configuration options:

Section.teamforge

teamforge.cache-path

Location where Gerrit and CollabNet Gerrit plugin store caches. By default, this is at /opt/collabnet/gerrit/cache. We advise that it not be changed.

teamforge.cache-ttl

Time-to-live for Gerrit caches in seconds. The default value is 300.

teamforge.apiPort

Port over which TeamForge communicates with the Git integration. The default value is 9081

teamforge.refreshTimeOut

Interval in seconds after which the Git integration synchronizes with TeamForge. The default value is 3600.

teamforge.jumboPushThreshold

The number of commits in one Git push beyond which the Git integration creates only a single commit object in TeamForge. The default value is 30.

teamforge.externalSystemId

ID of the TeamForge external integration system. The value of this property is set by the post-installation script when the Git integration is first installed.

teamforge.url

Host URL of the TeamForge site with which Git is integrated. The value of this property is set by the post-installation script when the Git integration is first installed.

teamforge.allowPushIfTeamForgeConnectionIsDown

TeamForge commit objects are validated prior to creation. When the value of this property is false and connection to TeamForge is down, validation fails. When the value of this property is true, validation and creation of commit objects are postponed until the connection to TeamForge is restored. The default value is false.

teamforge.parallelRemoteCallLimit

TeamForge is able to handle a certain number of parallel connections. This parameter was introduced in order to avoid TeamForge "is out of service" issues. The default value is 9.

teamforge.maxRemoteCallRetry

This parameter was introduced in order to specify the number of retry attempts for calls to TeamForge before connection failure is returned. The default value is 3.

teamforge.credentialsCache

When the value of this property is set to true, users' credentials are cached for the teamforge.credentialsCacheTimeOut amount of time and used to authorize actions in case of TeamForge connection outage. The default value is true.

teamforge.credentialsCacheTimeOut

Interval (in Seconds) after which the credentials cache expires. The default value is 3600.

teamforge.reconnectInterval

When the "TeamForge connection is down" state is detected, and the number of seconds exceeds the value of this parameter, attempts to restore connection are performed periodically. The default value is 30.

teamforge.repositoryroot

Location where all Git repositories are stored physically. The default value is set to the value of the Gerrit configuration property gerrit.basePath, which is set to /gitroot by default.

teamforge.maxFilesListedInTFCommitObject

Restricts the number of entries in the SCM files list view for a particular TeamForge commit object. This is especially useful for repository initial commit objects as they could contain a thousand entries that get processed by TeamForge. The default value is 250.

teamforge.notificationMaxSize

Number of bytes in notification message that will be sent out by git-multimail (part of the notification plugin). If message is larger than specified limit, it will be truncated. The default value is 25000.

teamforge.notificationMaxPythonExecutors

Number of Python processes used to create git-multimail notification. Each process will create one notification at a time. The default value is 2.

teamforge.syncTeamForgeProjectHierarchy

Turns theProject Hierarchy feature on. New Gerrit installs will have this value set to true, existing ones to false.

teamforge.supportSiteWideRoles

Enables TeamForgesite-wide role support. New Gerrit installs will have this value set to true, existing ones to false. This feature requires at least TeamForge8.0 (will be ignored before).

teamforge.supportDefaultAccessPermissions

Enables TeamForge Default Access Permission support. New Gerrit installs will have this value set to true, existing ones to false. This feature requires at least TeamForge 8.0 (will be ignored before).

teamforge.commitProcessingTimeOut

Maximum time allocated to process each Git commit to create a TeamForge commit object. If processing takes longer, processing of this commit is canceled, no corresponding TeamForge commit object will be created and the next commit will be processed. The default time is 15 min.

teamforge.createTFProjectLinkedApps

If enabled creates Project linked application with target to Gerrit Dashboard for that TeamForge project given project contains at least one Git repository. This feature requires at least TeamForge 8.0 (will be ignored before). The default value is true.

teamforge.teamForgeMenuHeader

Specifies the name of the menu that contains the links back to TeamForge user's Workspace and repositories list for a given TeamForge project. The default value is TeamForge.

teamforge.ensureStreamEventsForRegisteredUsers

If set to true, the RegisteredUsers group will have the StreamEvents global capability assigned during Gerrit startup. The default value is true.

teamforge.ensureAdminRightsForSiteAdmins

If set to true, the TF: Site Admins group will have Administrate Server global capability assigned during Gerrit startup. The default value is true.

Replication configuration

This feature requires TeamForge8.1 or later. These properties are ignored if you have TeamForge 8.0 or earlier.

teamforge.replicationMode

Sets the server mode (replication master or slave) of the Git integration server. This property is set by the TeamForge installer depending on the value specified in the site-options.conf file's GERRIT_REPLICATION_MODE token. Therefore, this property should not be edited manually within the gerrit.config file. The default value set by the TeamForge installer is master.

Relication master configuration

plugin.teamforge-replication.replicationDelay

The delay (in seconds) between a push to the source repository and the actual replication attempt to the replica server. If further push activities happen between this delay, those will be bundled into the same replication attempt, avoiding bursts of replication attempts in case of repository mass updates. The default value is 15s and should not be set below 3s.

plugin.teamforge-replication.threads

The number of threads that are used to push changes for each replica server. The default value is 4.

plugin.teamforge-replication.replicationRetry

The maximum wait time before the next replication attempt is performed (upon previous connection failure). It is increased progressively (after each failure per mirror) starting with 1m to the power of 2 and up to the parameter value. For example, if the value is 5m, replication will be reattempted (considering that connection failure still occurs) after 1m then after 2m then after 4m and then after 5m and further attempts will be performed at 5m intervals. The default is 5m.

plugin.teamforge-replication.sshConnectionTimeout

The timeout duration for establishing SSH connections during a replication attempt or when an SSH command is performed. This prevents the SSH queue from being blocked while waiting to connect to a mirror that is not responding. The default value is 15s.

plugin.teamforge-replication.sshCommandTimeout

The timeout duration for replication SSH command execution (for example, project creation, HEAD change, and so on), after which the command fails. This prevents the SSH queue from being blocked while waiting to connect to a mirror that is not responding. The default is 30s.

plugin.teamforge-replication.pushTimeout

The timeout duration for a replication push (push time after SSH connection is established), after which the push fails. This prevents the SSH queue from being blocked while waiting to connect to a mirror that is not responding. The default is 30s.

Replication mirror configuration

plugin.teamforge-slave.replicaId

The replica ID of the replication slave created in TeamForge if GERRIT_REPLICATION_MODE is set as slave. This property is set automatically by Gerrit upon start up and hence should not be edited manually.

plugin.teamforge-slave.allowGroup

The group or groups that are allowed to push directly to the replication mirror. By default, only Administrator groups can do this.