Only publish stream events when sendStreamEvents is set.

The publishing of stream events is only enabled when the
"sendStreamEvents' configuration is set as follows:

[plugin "events-kafka"]
   sendStreamEvents=true

Note that this constitutes a breaking change compared to the previous
stable version (stable-3.4), in which stream events were published by
default.

This is because multi-site now already publishes stream events
[see Iafe5a8155] by binding directly the StreamEventsPublisher from the
events-broker library. Thus direct publishing from events-kafka would be
redundant and cause twice as many messages to be published.

Bug: Issue 14910
Change-Id: Ie77ad7d10fe963568499c17aa6faa512006e30db
4 files changed
tree: 19454ee32c4bc71242cf35f97ee4e7bc4bc946ac
  1. src/
  2. BUILD
  3. external_plugin_deps.bzl
  4. Jenkinsfile
  5. LICENSE
  6. README.md
README.md

Kafka: Gerrit event producer for Apache Kafka

Build Status

Synopsis

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.

Environments

  • linux
  • java-1.8
  • Bazel

Build

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

Minimum Configuration

Assuming a running Kafka broker on the same Gerrit host, add the following settings to gerrit.config:

  [plugin "events-kafka"]
    bootstrapServers = localhost:9092