| commit | e03748c3fa4488d15518de1ac804a30ab07fcf24 | [log] [tgz] |
|---|---|---|
| author | Alice Kober-Sotzek <aliceks@google.com> | Tue Jul 03 17:32:30 2018 +0200 |
| committer | Alice Kober-Sotzek <aliceks@google.com> | Tue Jul 03 19:12:25 2018 +0200 |
| tree | de71712a89ac3d6adc3996186bb0dec08997f078 | |
| parent | 7fe9d6ec9ca392f05dafb5db173051190b14fd90 [diff] |
Fix automatic H2 cache invalidation on serialVersionUID change Since we switched from using the built-in serialization mechanism of H2 to our own Java serialization via JavaCacheSerializer, the InvalidClassException is wrapped in an IllegalArgumentException instead of a JdbcSQLException. This resulted in an internal Server error when the serialVersionUID was changed. For the diff cache, this meant that no diffs were shown on the UI after changing the serialVersionUID. As we don't want to depend on the exact type of exception, we simply look for any exceptions wrapping an InvalidClassException now. We didn't catch this issue previously as we don't have any tests for it. Admittedly, it's difficult to write such a test and hence we also don't add it with this change. The issue was noticed on a local Gerrit server. The same server was used to verify that this fix works. Change-Id: Ia0751c9cbbe782e8b096d8fbb1d361329fd27bf7
Gerrit is a code review and project management tool for Git based projects.
Gerrit makes reviews easier by showing changes in a side-by-side display, and allowing inline comments to be added by any reviewer.
Gerrit simplifies Git based project maintainership by permitting any authorized user to submit changes to the master Git repository, rather than requiring all approved changes to be merged in by hand by the project maintainer.
For information about how to install and use Gerrit, refer to the documentation.
Our canonical Git repository is located on googlesource.com. There is a mirror of the repository on Github.
Please report bugs on the issue tracker.
Gerrit is the work of hundreds of contributors. We appreciate your help!
Please read the contribution guidelines.
Note that we do not accept Pull Requests via the Github mirror.
The IRC channel on freenode is #gerrit. An archive is available at: echelog.com.
The Developer Mailing list is repo-discuss on Google Groups.
Gerrit is provided under the Apache License 2.0.
Install Bazel and run the following:
git clone --recursive https://gerrit.googlesource.com/gerrit
cd gerrit && bazel build release
The instruction how to configure GerritForge/BinTray repositories is here
On Debian/Ubuntu run:
apt-get update & apt-get install gerrit=<version>-<release>
NOTE: release is a counter that starts with 1 and indicates the number of packages that have been released with the same version of the software.
On CentOS/RedHat run:
yum clean all && yum install gerrit-<version>[-<release>]
On Fedora run:
dnf clean all && dnf install gerrit-<version>[-<release>]
Docker images of Gerrit are available on DockerHub
To run a CentOS 7 based Gerrit image:
docker run -p 8080:8080 gerritforge/gerrit-centos7[:version]
To run a Ubuntu 15.04 based Gerrit image:
docker run -p 8080:8080 gerritforge/gerrit-ubuntu15.04[:version]
NOTE: release is optional. Last released package of the version is installed if the release number is omitted.