commit | 9d7e4bc05b2886b2f590263a755a229eb3cd1562 | [log] [tgz] |
---|---|---|
author | Christoforos Miliotis <christoforos.miliotis.dev@gmail.com> | Mon Nov 13 16:39:17 2023 +0000 |
committer | Christoforos Miliotis <christoforos.miliotis.dev@gmail.com> | Fri Nov 24 09:19:58 2023 +0000 |
tree | 69dc0ac1107a3e1f49b58c42caef8c9b3e7e22b4 | |
parent | d626973cafb58bc579fe5d9fcfac36f0767446e7 [diff] |
Log publishing of stream events in message_log file Currently, when the plugin publishes a stream event to Kafka, the message_log file is not updated. This is in contrast with other types of events, which are logged in the file upon successful publishing of the messages. Bring the logging on stream events publishing in-line with other gerrit events. Upon successful publishing of the event, update the message_log file with the direction, topic name and message payload. Bug: Issue 294904654 Change-Id: I611beca696d4cdb6951b6ac15afab1a391eb446e
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 later.
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. The plugin depends on events-broker which is linked directly from source with the same ‘in-tree’ plugin structure.
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 git clone https://gerrit.googlesource.com/modules/events-broker gerrit/plugins/events-broker 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 bazel-genfiles/plugins/events-broker/events-broker.jar
Assuming a running Kafka broker on the same Gerrit host, add the following settings to gerrit.config:
[plugin "events-kafka"] bootstrapServers = localhost:9092