Lucene: Discontinue support for legacy numeric types

In Lucene implementation switched from integer id to string id. This
change is cleaning the old code. Three different index implementations
are affected:

* changes
* account
* groups

Unfortunately, Google has not updated to the latest version of the
account and groups index implementation yet. To avoid waiting for Google
to update to the recent change index vesion, this change reworking the
ID predicates to just check if the new ID_STR field is in the schema, and
use that for matching if so. That allows us to remove all checks for
numeric ID types. For Lucene, we can add a checkState that the version is
at least X or that the ID_STR field is there. So that we can upgrade
Lucene past the version that needs string IDs.

There is one complication with account index though. To test against
previous index vesion. Because this change is removing support for
legacy numeric type, to preserve the test against previous version, we
would still need to keep support for legacy numeric type. Luckily, the
follow change is bumping Lucene version so that we already bumping the
account index version in this change so that we can move forward. A
different approach that I considered would be to disable test against
previous index version in this change and to re-enable it in the follow
up change.

Bug: Issue 11686
Release-Notes: Discontinue support for legacy numeric types in Lucene
Change-Id: I6a040f55cc11432d60461f8a6fafbfe168a7bd37
26 files changed
tree: fc694a4cdb04b6003c043808a352c6808ab06a7b
  1. .settings/
  2. .ts-out/
  3. antlr3/
  4. contrib/
  5. Documentation/
  6. e2e-tests/
  7. java/
  8. javatests/
  9. lib/
  10. modules/
  11. plugins/
  12. polygerrit-ui/
  13. prolog/
  14. prologtests/
  15. proto/
  16. resources/
  17. tools/
  18. webapp/
  19. .bazelignore
  20. .bazelproject
  21. .bazelrc
  22. .bazelversion
  23. .editorconfig
  24. .git-blame-ignore-revs
  25. .gitignore
  26. .gitmodules
  27. .gitreview
  28. .mailmap
  29. .pydevproject
  30. .zuul.yaml
  31. BUILD
  32. COPYING
  33. INSTALL
  34. Jenkinsfile
  35. package.json
  36. README.md
  37. SUBMITTING_PATCHES
  38. version.bzl
  39. WORKSPACE
  40. yarn.lock
README.md

Gerrit Code Review

Gerrit is a code review and project management tool for Git based projects.

Build Status Maven Central

Objective

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.

Documentation

For information about how to install and use Gerrit, refer to the documentation.

Source

Our canonical Git repository is located on googlesource.com. There is a mirror of the repository on Github.

Reporting bugs

Please report bugs on the issue tracker.

Contribute

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.

Getting in contact

The Developer Mailing list is repo-discuss on Google Groups.

License

Gerrit is provided under the Apache License 2.0.

Build

Install Bazel and run the following:

    git clone --recurse-submodules https://gerrit.googlesource.com/gerrit
    cd gerrit && bazel build release

Install binary packages (Deb/Rpm)

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>]

Use pre-built Gerrit images on Docker

Docker images of Gerrit are available on DockerHub

To run a CentOS 8 based Gerrit image:

    docker run -p 8080:8080 gerritcodereview/gerrit[:version]-centos8

To run a Ubuntu 20.04 based Gerrit image:

    docker run -p 8080:8080 gerritcodereview/gerrit[:version]-ubuntu20

NOTE: release is optional. Last released package of the version is installed if the release number is omitted.