logo

WANDISCO GERRIT MULTISITE®
USER GUIDE

Release notes support the installation of the latest product version. For additional information see the Installation Guide.

Latest Release details

Statements on Common Vulnerabilities and Exposures

WANdisco constantly monitors the possible impact of common vulnerabilities and exposures on all its products. See the WANdisco Community website for the latest ALM Product CVE Statements.

Release 1.10.2

Gerrit MultiSite 1.10.2 fixes an issue where pack files could become excessively large. For deployment requirements, see the notes for the major release.

Version: 1.10.2.4 (v2.16.27-RP-1.10.2.4)
Release: February 6 2023

Software versions required or supported

Minimum required.

  • JDK 8

    • Oracle JDK 8u301, or OpenJDK 8u302

IMPORTANT: 1.10.x releases are susceptible to a JDK 8 bug that has been fixed in more recent versions of JDK 8. The Oracle JDK bug is documented here: JDK bug. For maximum performance use the correct JDK version.

Fixes

  • GER-1824 - Minimize pack file size for replicating repository updates.

Some GerritMS plugins are tagged to v2.16.28 instead of the expected v2.16.27. Ignore these later-than-expected release tags. The plugins don’t include any additional changes.

Known Issue

  • GER-1598 - Open changes not removed in UI when force clean-up is selected and left in replication. See the following Knowledge base article for more information.

  • GER-2001 - Gerrit scp command for commit hooks requires extra flag when called from newer ssh clients. See the following Knowledge base article for more information.

  • GER-2241 - Some timezone settings on GerritMS servers (especially those that include switching to Daylight Savings) can result in an hour (or more) delay in updating Gerrit events, indexes, etc.

    The workaround to this issue is to set all GerritMS servers to use the UTC timezone as the system time. Caution: always use the "systemctl" (or "service" command for older servers) to start the Gerrit daemon process. Running the "gerrit.sh" script directly may cause the Administrator’s timezone settings to be inherited by the Gerrit process, resulting in not using UTC as desired.

Previous GerritMS releases

Release 1.10.1

Gerrit MultiSite 1.10.1 provides fixes for a number of issues found in the previous release. For deployment requirements, see the notes for the major release.

Version: 1.10.1 (v2.16.27-RP-1.10.1.1)
Release: May 20 2021

Fixes

  • GER-1404 - Enable delete-project plugin to work with projects in single node replication groups

  • GER-1499 - Fix delete-project plugin to properly archive projects

  • GER-1501 - Fix lfs plugin failure reporting

  • GER-1532 - Change talkback to use Gerrit SSH credentials for data collection purposes

  • GER-1549 - Fix delete-project plugin

  • GER-1553 - Determine how to enable the Gerrit replication plugin - Please contact WANdisco support before use.

  • GER-1562 - The replicated version of the delete-project plugin will ignore the "enablePreserveOption = false" setting

  • GER-1566 - Merge in Gerrit 2.16.27 release

  • GER-1606 - Enable removal of GerritMS leaving behind only vanilla Gerrit artifacts

  • GER-1607 - Fix lfs plugin to honor default storage location specification

  • GER-1625 - Fix show-replicator-stats command

  • GER-1628 - Periodically cleanup Gerrit pack file cache to enable proper file system release of deleted file space

  • GER-1629 - Fix gerrit-rp SystemD unit file to properly set critical task and file settings

Known Issues

  • GER-1292 - While the Delete project plugin works in the PolyGerrit UI, the following error appears in the old Gerrit UI: Code Review - Error, Plugin "delete-project" failed to load. In GerritMS 1.10.x, you must use PolyGerrit UI to interact with the Delete project plugin.

  • GER-1598 - Open changes not removed in UI when force clean-up is selected and left in replication. See the following Knowledge base article for more information.

Software versions required or supported

  • GerritMS version: 1.10.1

  • Gerrit version: 2.16.27_WDv1

  • JGit version: 5.1.15-WDv1

  • C-Git is still 2.19.1

  • JDK 8

    • Oracle JDK 8u301, or OpenJDK 8u302 (Minimum required.)

IMPORTANT: 1.10.x releases are susceptible to a JDK 8 bug that has been fixed in more recent versions of JDK 8. The Oracle JDK bug is documented here: JDK bug. For maximum performance use the correct JDK version.

Module versions

  • ContentDistribution Version: 2.1.0

  • file-replication-service Version: 1.10.2.1

  • fusion-kernel Version: 2.1.0

  • fusion-kernel-slf4j-logging Version: 1.1.0

  • fusion-platform Version: 2.1.0

  • gerrit-gitms-interface Version: 1.1.1.1

  • git-ms-replicator Version: 1.10.1.1 Build: de3f8378

  • keystore-passwd-util Version: 1.2.11

  • Local UI Version: 1.10.1.1-GITMS Build: 0bc19738

  • notification-framework-core Version: 1.8.2.1

  • notification-framework-email Version: 1.8.2.1

  • security-framework Version: 2.0.2.1

  • vcs-common Version: 1.10.2.1

Available Plugins

  • Gerrit v2.16.27-RP-1.10.1.1

  • CodeMirror Editor v3.1.15

  • Commit-Message-Length-Validator v3.4.0

  • Delete-project v2.16.27-RP-1.10.1.1

  • Download-commands v2.16.27

  • Hooks v2.16.27

  • LFS v2.16.27-RP-1.10.1.1

  • Replication v2.16.27

  • Reviewnotes v2.16.27

  • Singleusergroup v2.16.27

Release 1.10.0

Version: 1.10.0. Build: 0171
Release: February 4 2021

OS Support

The tested versions are listed below, we support these and higher patch levels. While we make every attempt to continue to support older Linux patch levels, it is sometimes not possible. In addition, because we do not test every patch level we may not know about an incompatibility that exists. For absolute compatibility it is best to choose the tested patch level.

  • CentOS 7 only

    CentOS/RHEL 6 operating systems are no longer supported.
    RHEL 8 and SLES 15 will be supported in a future release.

Java

  • JDK 8

Architecture

  • 64-bit only
    GerritMS is unable to support 32-bit architecture because this would impose crippling limits on scalability.

During install you are asked which user and group you want to use to run GerritMS. On Ubuntu this change does not apply system-wide, so some files have the default group set. This is not a problem, but something to consider when deciding on your OS.

Required software versions:

  • Git MultiSite - 1.10.

  • Databases: NoteDB/H2

  • Gerrit version 2.16.21-RP-1.10.0.1

  • C-Git - 2.19.1

  • JDK 8

    • Oracle JDK 8u301, or OpenJDK 8u302 (Minimum required.)

IMPORTANT: 1.10.x releases are susceptible to a JDK 8 bug that has been fixed in more recent versions of JDK 8. The Oracle JDK bug is documented here: JDK bug. For maximum performance use the correct JDK version.

Other software versions:

  • JGit version installed with GerritMS - 5.1.13-WDv1

Module versions

  • ContentDistribution Version: 2.0.0

  • file-replication-service Version: 1.10.1.1

  • fusion-kernel Version: 2.0.0

  • fusion-kernel-slf4j-logging Version: 1.0.1

  • fusion-platform Version: 2.0.0

  • gerrit-gitms-interface Version: 1.1.0.1

  • git-ms-replicator Version: 1.10.0.1 Build: 88a42bfb2ea94618b311d1ac7488e12d22ecd2e6

  • keystore-passwd-util Version: 1.2.5

  • Local UI Version: 1.10.0.1-GITMS Build:6ecd59a88eb04b30e19e5d9703d79512a05d0bf7

  • notification-framework-core Version: 1.8.1.2

  • notification-framework-email Version: 1.8.1.2

  • security-framework Version: 2.0.1.2

  • vcs-common Version: 1.10.1.1

Available plugins:

  • codemirror-editor version v3.1.12

  • commit-message-length-validator version v3.3.2

  • delete-project version v2.16.21-RP-1.10.0.1 (Not compatible with GerritMS 1.10.0)

  • download-commands version v3.0.16

  • hooks version v3.0.16

  • lfs version v2.16.21-RP-1.10.0.1

  • replication version v2.16.22 (Not compatible with GerritMS 1.10.0)

  • reviewnotes version v3.0.16

  • singleusergroup version v3.0.16

New Feature

Disable Replication
This new functionality lets you start Gerrit MultiSite in a non-replicated environment. See Disable Replication.

Fixes

  • GER-389 GerritMS/GitMS 1.10.0 fully support Git Atomic Commits

  • GER-540 PolyGerrit UI support added to WANdisco replicated Gerrit LFS

  • GER-541 Gerrit 2.16.21 supported by GerritMS 1.10.0

  • GER-687 Offline reindexing performance improved

  • GER-742, GER-794 Content Delivery cleaned up of stale files in rare circumstances

  • GER-813 Only Java 8 supported in this release (OpenJDK, Oracle)

  • GER-830 Better documentation of non-interactive install requirements

  • GER-833 Gerrit UI and Gerrit Logs now agree on specific failure issues

  • GER-862 GerritMS/GitMS 1.10.0 only support Gerrit 2.16.21 post ReviewDB to NoteDB migration

  • GER-873 Permissions of files created during installation now properly adhere to specified umask

  • GER-936 Retraction of "Distinct Events" implementation - no longer supported

  • GER-963 Gerrit "Replication Plugin" not supported

  • GER-967 Account Inactivation State now properly replicated

  • GER-976 Small Paxos proposals no longer require Content Delivery

  • GER-1021 Fixed extremely rare race condition that could cause partial update in a repository

  • GER-1026 Fixed ability to unstar a starred change

  • GER-1048 Persisted events are now cleaned up

  • GER-1418 Performance enhancement to pack file opening

Known Issues

  • GER-1522: Multiple users simultaneously committing to same repository may cause a block on ref updates. There is currently a risk that Gerrit will timeout before the issue clears itself. If timeouts become a problem, change the following property, increasing it incrementally until the timeouts stop.

    1. Open the <gerrit.home>/etc/gerrit.config file in an editor.

    2. Ensure the following property and corresponding value is in place.

      [noteDb]
      sequenceRetryMaxTimeoutSecs = 30

      Note that by default this maximum timeout is 30 seconds. Increase the timeout by 5 or 10 seconds, then retest. Repeat the change until timeouts stop happening.

    3. Save and restart Gerrit service.

Alternatively, you can make the change via the command line, using the following command:

git config -f path/to/gerrit.config noteDb.sequenceRetryMaxTimeoutSecs 35

This example sets the maximum timeout at 35 seconds.

  • GER-1500: The WANdisco enhanced Delete-project plugin has found not to work properly in Gerrit MS 1.10.0
    Do not install or use the Delete-project plugin in this initial 1.10 release. It will be fixed in the next release.

  • GER-1404: single node replication groups fail to delete gerrit projects.

    • Workaround: Do not use single node replication groups during testing.

    • Status: To be fixed in next release.

  • GER-1053: Replicated LFS locking is not supported in the first 1.10 release.

    • Workaround: None.

    • Status: Support to be added in a future release.

  • GER-474: JGit 4.6.0 and later must have "autogc" set to false.

    • Notes: When running GerritMS 1.10, every modification made to a GerritMS repository may trigger a Git GC. This could negatively impact performance when running with large repositories, where frequent GC operations could cause a minute or more of delay.

      Recommendation: Turn this feature off and periodically use GitMS for repository garbage collection.
      See Disable auto-GC with the following command for the required step.

  • GER-1598 - Open changes not removed in UI when force clean-up is selected and left in replication. See the following Knowledge base article for more information.

Evaluate Repository Garbage Collection requirements

Gerrit 2.16 init automatically triggers reindexing

Running a Gerrit init (java -jar gerrit.war init) will automatically result in a re-indexing projects. Before running Gerrit init, ensure that you measure the impact of a reindexing. If applicable, add the following flag to block the reindex:

java -jar gerrit.war init --no-reindex
--no-reindex

Don’t automatically reindex any entities (default: false)

Gerrit 2.15/2.16 Strict label validation

From Gerrit 2.15, posting a review including a vote on any labels that do not exist or are outside of the permitted range based on the ACLs can now result in a failure of the entire operation. This feature is currently set to "off" by default.

To enable Strict label validation:

  1. Open the gerrit.config file.

  2. Ensure the following parameter and value are included.

    [change]
              strictLabels = true
  3. Save the file. Restart Gerrit to apply the change to the node.

    Make the edit on a node by node basis as each node handles and enforces the request individually.

Previous GerritMS Release

Earlier product versions

Find User Guides for earlier versions in the Archive.