commit | f924158cc1f8006326fbbfaf829e0d405ad6da88 | [log] [tgz] |
---|---|---|
author | Marcin Czech <maczech@gmail.com> | Thu Apr 22 07:55:40 2021 +0200 |
committer | Marcin Czech <maczech@gmail.com> | Tue May 04 08:39:41 2021 +0200 |
tree | ed02d148a76b1725f9696f3d2cdfd0858bb9e01a | |
parent | 846a12749103b53ca6dad42c02b66142fe503838 [diff] |
Deserialize Event and EventMessage From Gerrit v3.2 event contains instance id field. In version 3.4 EventMessage envelope will be replaced with Event. To allow rolling upgrade compatibility between v3.3 and v3.4 need to be assured. To do that KafkaEventDeserializer must be able to handle both message types. Bug: Issue 14390 Change-Id: I270f8fdf1c1bcbd537d03c19087113b483f3b6f4
This plugins allows to define a distributed stream of events published by Gerrit.
Events can be anything, from the traditional stream events to the Gerrit metrics.
This plugin requires Gerrit 2.13 or laster.
linux
java-1.8
Bazel
Kafka plugin can be build as a regular ‘in-tree’ plugin. That means that is required to clone a Gerrit source tree first and then to have the Kafka plugin source directory into the /plugins path. Additionally, the plugins/external_plugin_deps.bzl file needs to be updated to match the Kafka plugin one.
git clone --recursive https://gerrit.googlesource.com/gerrit git clone https://gerrit.googlesource.com/plugins/events-kafka gerrit/plugins/events-kafka cd gerrit rm plugins/external_plugin_deps.bzl ln -s ./events-kafka/external_plugin_deps.bzl plugins/.
To build the events-kafka plugins, issue the command from the Gerrit source path:
bazel build plugins/events-kafka
The output is created in
bazel-genfiles/plugins/events-kafka/events-kafka.jar
Assuming a running Kafka broker on the same Gerrit host, add the following settings to gerrit.config:
[plugin "events-kafka"] bootstrapServers = localhost:9092