logo

WANDISCO GERRIT MULTISITE®
USER GUIDE

Gerrit MultiSite Release Notes

Release notes support the installation of the latest product version. They describe:

For additional information go to:

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.9.8.3 (latest)

Version: 1.9.8.3 (v2.13.12-RP-1.9.8.3)
Release: 10 January 2024

This release contains 2 performance fixes.

Software versions required or supported

Minimum required.

  • JDK 8

    • Oracle JDK 8u301, or OpenJDK 8u302

IMPORTANT: 1.9.8.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.

Fixed

  • GER-2040 Preventing database update for every AuthN for LDAP accounts with missing attributes.

  • GER-2047 Enable as-designed thread management of event indexing worker pool.

Release 1.9.8.2

Version: 1.9.8.2 (v2.13.12-RP-1.9.8.2 GA Build 0089)
Release: 23 January 2023

This release adds fixes for a small number of issues affecting Gerrit MultiSite 1.9.8.

Software versions required or supported

Minimum required.

  • JDK 8

    • Oracle JDK 8u301, or OpenJDK 8u302

IMPORTANT: 1.9.8.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.

Fixed

  • GER-1833 Fix replicated events for "adv_bases".

  • GER-1847 Fix non-POSIX coding in "gerrit.sh" so will work on all Linux distros WANdisco supports.

  • GER-1848 Eliminate “ulimit -n” command from “gerrit.sh” startup script that caused unnecessary failure in replicated environment.

Release 1.9.8

Version: 1.9.8 (v2.13.12-RP-1.9.8.1)
Release: 25 November 2021

This release consolidates hotfixes that have been applied to Gerrit MultiSite 1.9.7.

Software versions required or supported

Minimum required.

  • JDK 8

    • Oracle JDK 8u301, or OpenJDK 8u302

IMPORTANT: 1.9.8.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.

Fixed

  • GER-403 - Fixed a bug preventing reviewers from being added to a review.

  • GER-916 - Fixed a bug that caused intermittent loss of a replicated event

  • GER-918 - Fixed a bug causing divergence between Git repository and MySQL DB.

  • GER-953 - Fixed a race condition that could cause lost replicated events.

  • GER-962 - Fixed a race condition so that un-star operation works.

  • GER-1006 - Replicated indexing sped up significantly (see GER-1483).

  • GER-1008 - Fixed duplicate event file creation.

  • GER-1019 - Same as GER-1384 below.

  • GER-1020 - Invalid Gerrit events are now placed in a failed directory.

  • GER-1384 - Fixed openPackedObject() semi-infinite loop.

  • GER-1482 - Fixed bug generating a lot of "has a Null project name" warnings in the GitMS log.

  • GER-1483 - Optimize Replicated Gerrit Events handling. See Incoming Event Handling.

Release 1.9.7

Version: 1.9.7. Build: 0018
Release: 15 October 2019

This is a full release of Gerrit MultiSite enables customers to run Gerrit 2.13.12 with Chrome 76 changes. It will supersede all prior GerritMS releases and only includes critical fixes.

Fixed

  • GER-870 - Fixes required in order to operate properly with Chrome 76.

  • GER-877 - Fix Gerrit index event propagation for All-Users repository changes.

  • GER-885 - Back out temporary fixes to enable hotfix for LFS Plugin (which removed the UI portion).

If you are running GerritMS 1.9.6, you may use an expedited installation procedure. For more information, please contact WANdisco Support.

Known issue

  • GER-1753 - There is a broken link on the table of contents for the Gerrit documentation hosted with Gerrit MultiSite’s installation of Gerrit. The Default Android Workflow link should go to https://source.android.com/setup/develop. This issue is fixed in later versions.

Version: 1.9.6 Build 0009 ( 2.13.12-RP-1.9.6.1)
Release: 12 June 2019

Fixed

  • GER-829 - Critical bug in JGit that could cause repository data loss fixed.

Known Issues

  • GER-834 Important note if running Gerrit 2.13.11 on SLES 11.3 - See details.

Software versions required or supported

The tested versions are listed below, we support these and higher patch levels:

  • CentOS 6.10

  • CentOS 7.6

  • SLES 11.4

    • Contact WANdisco Support for more information about running on this platform.

  • SLES 12.4

  • JDK 7

    • JDK 8 is only tested with CentOS currently but is supported on all platforms.

We don’t support GerritMS on 32-bit architecture because this would impose serious limits on scalability. You must deploy on a 64-bit OS.

Required software versions:

  • Git MultiSite - 1.9.6

  • Databases:

    Operating System Version Tested

    CentOS 6

    Percona 5.6.43

    CentOS 7

    Percona 5.6.43

    SLES 11

    MariaDB 10.1.36

    SLES 12

    MariaDB 10.2.24

  • Vanilla Gerrit - 2.13.12

  • C-Git - 2.19.1

Other software versions:

  • JGit version installed with GerritMS - 4.5.5.201812240535-r_WDv1

Release 1.9.5.1

Version: 1.9.5.1 Build 0007 (2.13.12-RP-1.9.5.1)
Release: 25 January 2019

IMPORTANT: Do not use Gerrit’s internal repository garbage collection mechanism with Gerrit MultiSite 1.9.5.1 or earlier. A serious JGit bug (GER-829) was fixed in Gerrit MS 1.9.6. See Garbage Collection.

New

  • GER-821 - Critical Security Patch: Support for Gerrit 2.13.12.

Delete Projects Plugin
The Delete Projects Plugin in this release is version 2.13.11. This is compatible with Gerrit 2.13.12.

Known Issues

  • GER-834 Important note if running Gerrit 2.13.11 on SLES 11.3 - See details.

Software versions required or supported

The tested versions are listed below, we support these and higher patch levels:

  • RHEL 6.6

    • Red Hat 6 requires the RHEL Server Optional repository to be enabled in Red Hat Network.

  • CentOS 6.9

    • See Red Hat note above.

  • RHEL 7.1

  • CentOS 7.5

  • SUSE 11.4

    • Contact WANdisco Support for more information about running on this platform.

  • SLES 12 SP3

    • SP3 is the minimum version required.

  • JDK 7

    • JDK 8 is only tested with CentOS currently but is supported on all platforms.

We don’t support GerritMS on 32-bit architecture because this would impose serious limits on scalability. You must deploy on a 64-bit OS.

During install you are asked which user and group you want to run GerritMS as. 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.9.5

  • Databases:

    Operating System Version Tested

    CentOS 6

    Percona 5.6.42

    CentOS 7

    Percona 5.6.42

    SLES 11

    MariaDB 10.1.36

    SLES 12 SP3

    MariaDB 10.2.21

  • Vanilla Gerrit - 2.13.12

  • C-Git - 2.19.1

Other software versions:

  • JGit version installed with GerritMS - 4.5.5.201812240535-r_WDv1

Release 1.9.4.1

Version: 1.9.4.1 Build 0082 (2.13.11-RP-1.9.4.1)
Release: 22 October 2018

IMPORTANT: Do not use Gerrit’s internal repository garbage collection mechanism with Gerrit MultiSite 1.9.5.1 or earlier. A serious JGit bug (GER-829) was fixed in Gerrit MS 1.9.6. See Garbage Collection.

New

  • GER-479 - Update GitMS with Gerrit account information to enable proper licensing checks.

  • GER-485/GER-539 - Major new feature -"Gerrit LFS plugin" so that LFS data is replicated to required nodes.

  • GER-604 - Enabled reindex.sh to work within the context of a reverse proxy frontend.

  • GER-608 - Support the Gerrit ITS-JIRA plugin. See Solution plugins for Gerrit for more information.

  • GER-615 - Support for Gerrit 2.13.11 patch set.

  • GER-621 - Better support for GerritMS in the talkback utility.

  • GER-651 - Backported a Gerrit 2.14 fix to prevent issues when an LDAP account has a null username field.

  • GER-674 - Backported a Gerrit fix to replace "Random" with "SecureRandom".

  • GER-686 - Enable support for Physically Nested Repositories via a non-default configuration setting. See documentation.

  • GER-693 - Enable Gerrit startup support for TLSV1.2 by default.

  • GER-695 - Added documentation to specify -Dhttps.protocols=TLSv1.2 as part of java command to run the init command during upgrade.

  • GER-696 - Added documentation on how to speed up Gerrit reindexing by using multiple threads.

  • GER-795 - Backported as much of CVE-2018-17456 as possible from latest the Gerrit releases.

Fixed

  • GER-382 - No longer echo typed passwords to the screen during runs of "sync_repos.sh".

  • GER-405/GER-632/GER-691 - Properly replicate accounts to remote nodes when they are created/modified.

  • GER-451 - Minimized the delay in updating "My Changes" on remote nodes after a change.

  • GER-468 - Proper computation of intervals between servers in different timezones.

  • GER-500 - Prevented removal of "top level" Git repo if it has physically nested repositories below it.

  • GER-520 - Fixed a bug in the Delete Project plugin where a down node would not remove a repository properly.

  • GER-614 - Installer in prevented from running as the wrong account.

Known issues

Maven Central no longer supports TLS v1.1
As Maven Central no longer supports TLS v1.1, if using Java 7 you will need to enable TLS v1.2 manually in order to use Gerrit re-init. See the Gerrit docs for more information - https://www.gerritcodereview.com/releases/2.13.md#HTTPS-TLS1_1-support-discontinued-by-Maven-Central. Java 8 supports TLS v1.2 by default and so is not affected.
Gerrit init required after installation
After the GerritMS installer is finished, perform a gerrit init. This is only needed for first time installations, not upgrades.
  • GER-740 Gerrit LFS will not work for a non-replicated repository. The work-around is to create a single-node replication group which contains the repository. This deficiency will be fixed in the next version of GerritMS.

  • GER-834 Important note if running Gerrit 2.13.11 on SLES 11.3
    If you are running Gerrit 2.13.11 on SLES 11.3, then you may encounter an issue that prevents Gerrit from starting up after a shutdown. This is because Gerrit uses start-stop-daemon to manage the process which happens to be incompatible with the SLES version of the start-stop-daemon).

    Workaround
    Ensure START_STOP_DAEMON=0 in gerrit.sh.

    # START_STOP_DAEMON
    #   If set to "0" disables using start-stop-daemon.  This may need to
    #   be set on SuSE systems.

Software versions required or supported

The tested versions are listed below, we support these and higher patch levels:

  • RHEL 6.6

    • Red Hat 6 requires the RHEL Server Optional repository to be enabled in Red Hat Network.

  • CentOS 6.9

    • See Red Hat note above.

  • RHEL 7.1

  • CentOS 7.5

  • SUSE 11.4

    • Contact WANdisco Support for more information about running on this platform.

  • SLES 12 SP3

    • SP3 is the minimum version required.

  • JDK 7

    • JDK 8 is only tested with CentOS currently but is supported on all platforms.

We don’t support GerritMS on 32-bit architecture because this would impose serious limits on scalability. You must deploy on a 64-bit OS.

During install you are asked which user and group you want to run GerritMS as. 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.9.4 or 1.9.5

  • Databases:

    If using GitMS 1.9.4:

    Operating System Version Tested

    CentOS 6

    Percona 5.6.41-84.1-56

    CentOS 7

    Percona 5.6.41-84.1-56

    SLES 11

    MariaDB 10.1.36

    SLES 12 SP3

    MariaDB 10.2.18

    If using GitMS 1.9.5:

    Operating System Version Tested

    CentOS 6

    Percona 5.6.42

    CentOS 7

    Percona 5.6.42

    SLES 11

    MariaDB 10.1.36

    SLES 12 SP3

    MariaDB 10.2.21

  • Vanilla Gerrit - 2.13.11

  • C-Git - 2.17.1 if using GitMS 1.9.4, 2.19.1 if using GitMS 1.9.5.

Other software versions:

  • JGit version installed with GerritMS - 4.5.2.201704071617-r_WDv4

Release 1.9.3.5

Version: 1.9.3.5 Build 0019 (2.13.9-RP-1.9.3.5)
Release: 4th April 2018

New

  • GER-589 - Percona 5.6 is now required for running GerritMS 1.9.3. Support for Percona 5.7 has been removed to prevent deadlock.

  • GER-584 - Enabled trading processor consumption against index and event replication delays via tunable properties.

  • GER-613 - Time Zone offset is now properly computed for all possible timezones (some Linux timezones are not possible due to JAVA issue).

Fixed

  • GER-498, GER-568 - sync_repo.sh enhanced to prevent attempts to add inappropriate repositories, better logging.

  • GER-551 - Fixed a bug preventing cloning of large repositories (fails at 30 second mark).

  • GER-555, GER-575, GER-582, GER-594 - Fixed bugs preventing proper Gerrit index and event replication.

  • GER-564, GER-567 - Fixed bugs preventing proper handling of JSON files in Gerrit event replication.

  • GER-570 - reindex.sh script fixed to handle proper index path creation in certain cases.

  • GER-573 - Fixed a bug where indexing could be delayed by 2 hours.

  • GER-620, GER-632, GER-646 - Fixed an indexing issue for newly created accounts.

Known issues

  • GER-562 - During the GitMS upgrade of a GitMS/GerritMS system the json files in the …​/gerrit/gerrit_events tree need to be removed. Remove them when GitMS is fully down. These files are internally formatted in a release dependent manner so could cause problems after the upgrade if they are not removed.

  • GER-628 - When using the Gerrit Delete Project plugin there will be 2 ignorable errors generated into the Gerrit error_log file on all of the nodes other than that where the clean up request was made.

  • GER-630 - CentOS/RHEL 7 and SLES 12: To avoid Gerrit Event and Indexing replication issues, use these instructions for setting your system timezone.

  • You must login to the Gerrit UI on a node before you can clone (or use REST API endpoints) from that node. This will be fixed in the next version of GerritMS.

  • GER-654 - In order to use OAuth with Gerrit you will need to use OAuth 2.13.6 and Java 8.

  • GER-656 - The gerrit#serverId configuration value must be the value it was first created with. This will be the same at all sites.

  • GER-665 - The Gerrit war file for some of the built-in plugins contains the tag 2.13.11 and not 2.13.9 as would be expected. For those plugins the 2.13.9 and 2.13.11 tags are on the same commit. Our build process simply chose the wrong tag to include. You will see this in the following instances:

    • In the UI under Plugins

    • In the backend API

    • When running the command option --list-plugin

Software versions required or supported

The tested versions are listed below, we support these and higher patch levels:

  • RHEL 6.6

    • Red Hat 6 requires the RHEL Server Optional repository to be enabled in Red Hat Network.

  • CentOS 6.6

    • See Red Hat note above.

  • RHEL 7.1

  • CentOS 7.1

  • SUSE 11.3

    • Contact WANdisco Support for more information about running on this platform.

  • JDK 7

    • JDK 8 is only tested with CentOS currently but is supported on all platforms.

We don’t support GerritMS on 32-bit architecture because this would impose serious limits on scalability. You must deploy on a 64-bit OS.

During install you are asked which user and group you want to run GerritMS as. 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.9.3

  • Percona XtraDB Cluster - 5.6.37-82.2-56

  • MariaDB:

    Operating System Version Tested

    CentOS 6

    Percona 5.6.37-82.2-56

    CentOS 7

    Percona 5.6.37-82.2-56

    SLES 11

    MariaDB 10.1.7

    SLES 12

    MariaDB 10.2.8

  • Vanilla Gerrit - 2.13.9

  • C-Git - 2.14.1

Other software versions:

  • JGit version installed with GitMS - 4.5.2.201704071617-r_WDv2

Release 1.9.2.2

Version: 1.9.2.2 Build 0008 (2.13.9-RP-1.9.2.2)
Release: 17th October 2017

Fixed

  • GER-536 - Fixed a bug that prevented reindexing of very rare commit types.

  • GER-552 - Cherry-picked a bugfix that enables the cloning of very large repos - see bugs.chromium.org for more information.

Known Issues

  • GER-554 - Before upgrading from a previous version you must set the following properties in the gerrit.config file:

    [cache "diff"]
        timeout = 15000
    [cache "diff_intraline"]
        timeout = 15000
  • GER-562 - During the GitMS upgrade of a GitMS/GerritMS system the json files in the …​/gerrit/gerrit_events tree need to be removed. Remove them when GitMS is fully down. These files are internally formatted in a release dependent manner so could cause problems after the upgrade if they are not removed.

  • GER-571 - If you want specific Gerrit features that had previously been used, then after upgrade you need to run the following:

    1. To display the download commands you need to enable the "download-commands" plugin ("Stable 2.13", see here). To do this run the command:

      java -jar /home/gitms/gerrit/bin/gerrit.war init -d /home/gitms/gerrit --install-plugin=download-commands
    2. To enable the server side Hooks (the Gerrit replacement to the Git hooks), you need to run the command:

      java -jar /home/gitms/gerrit/bin/gerrit.war init -d /home/gitms/gerrit --install-plugin=hooks
  • GER-572 - If using Gerrit with Percona then nodes may fail to start due to an error in the mysqld_safe script. For more information see the Percona website.
    A work around is to edit the mysqld_safe script with the following:

    1. Run the command vim /usr/bin/mysqld_safe. You will need to edit the line beginning if [ $ret, +/- line 220.

    2. Change from:

      if [ $ret > 0 ]; then

      to:

      if [ "$ret" -gt "0" ]; then

Software versions required or supported

The tested versions are listed below, we support these and higher patch levels:

  • RHEL 6.6

    • Red Hat 6 requires the RHEL Server Optional repository to be enabled in Red Hat Network.

  • CentOS 6.6

    • See Red Hat note above.

  • RHEL 7.1

  • CentOS 7.1

  • SUSE 11.3

    • Contact WANdisco Support for more information about running on this platform.

  • JDK 7

    • JDK 8 is only tested with CentOS currently but is supported on all platforms.

We don’t support GerritMS on 32-bit architecture because this would impose serious limits on scalability. You must deploy on a 64-bit OS.

During install you are asked which user and group you want to run GerritMS as. 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.9.2

  • Percona XtraDB Cluster - 5.6

    This version was originally shipped dependent on Percona 5.7, but due to issues found subsequent to shipment we have reverted the dependency to Percona 5.6.
  • MariaDB:

    Operating System Version Tested

    CentOS 6

    Percona 5.6

    CentOS 7

    Percona 5.6

    SLES 11

    MariaDB 10.1.7

    SLES 12

    MariaDB 10.2.8

  • Vanilla Gerrit - 2.13.9

  • C-Git - 2.14.1

Other software versions:

  • JGit version installed with GitMS - 4.5.2.201704071617-r_WDv2

Release 1.9.1.2

Version: 1.9.1.2 Build 0014
Release: 26th September 2017

New

  • GER-434 - During install, the administrator is now notified if environment variables that change "curl" behavior are set.

  • GER-439 - There is now full support for the Gerrit "Delete Project" Plugin. See Delete projects for more information.

  • GER-441 - GerritMS now supports Java 8.

  • GER-443 - You can now specify sub-second values for Gerrit Events replication properties. See Gerrit event stream for more information.

  • GER-492 - Gerrit 2.13.9 is now supported.

Fixed

  • GER-324 - Fixed a rare bug where repositories would take a long time to deploy.

  • GER-359 - Fixed a bug where a replicated change event would generate a MissingObjectException.

  • GER-429 - There are now better error message delivered to users whose push failed because of a prior push.

  • GER-432 - There are now better error message when repository deployment failed due to existing on-disk artifacts.

  • GER-468 - Fixed a bug where time differences between sites were incorrectly calculated during Daylight Savings Time periods for specific Time Zones.

Known Issues

  • GER-454 - For successful upgrade you need to remove any redundant slashes before upgrade is attempted. Redundant slashes include any duplication of slashes or a slash at the end of the string.
    The following steps need to be performed for any GerritMS repositories that have redundant slashes in their GitMS file path. The example uses the example repository All-Users.git:

    1. Remove the All-Users.git repository from GitMS

    2. Add the All-Users.git repository back into GitMS, this time without redundant slashes

    3. Edit the application.properties file and remove the redundant slashes from any path specified therein (especially, gerrit.root, gerrit.repo.home)

  • GER-512 - Before upgrading to a new version you need to edit the <gerrit.home>/etc/gerrit.config file to contain the following:

    [container]
            startupTimeout = 200

    This will enable a successful restart after upgrade.

  • GER-535 - The my.cnf needs to be changed due to a clash between Gerrit’s use of zeros for dates and in dates, and the SQL standard change to disallow such values. Specifically, the "sql-mode" must not have NO_ZERO_IN_DATE nor NO_ZERO_DATE. See the Percona XtraDB section for more information.

Software versions required

The tested versions are listed below, we support these and higher patch levels:

  • RHEL 6.6

    • Red Hat 6 requires the RHEL Server Optional repository to be enabled in Red Hat Network.

  • CentOS 6.6

    • See Red Hat note above.

  • RHEL 7.1

  • CentOS 7.1

  • SUSE 11.3

    • Contact WANdisco Support for more information about running on this platform.

  • JDK 7

    • JDK 8 is only tested with CentOS currently but is supported on all platforms.

We don’t support GerritMS on 32-bit architecture because this would impose serious limits on scalability. You must deploy on a 64-bit OS.

During install you are asked which user and group you want to run GerritMS as. 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.9.1

  • Percona XtraDB Cluster - 5.6

    This version was originally shipped dependent on Percona 5.7, but due to issues found subsequent to shipment we have reverted the dependency to Percona 5.6.
  • MariaDB:

    Operating System Version Tested

    CentOS 6

    Percona 5.6

    CentOS 7

    Percona 5.6

    SLES 11

    MariaDB 10.1.7

    SLES 12

    MariaDB 10.2.8

  • Vanilla Gerrit - 2.13.9

  • C-Git - 2.14.1

Other software versions:

  • JGit version installed with GitMS - 4.5.2.201704071617-r_WDv2

Earlier product versions

For Release Notes and documentation for earlier versions of Gerrit MultiSite, see GerritMS 1.7 Release Notes