commit | d4a3264627f5690c0abe325d12a94ede930ea0ab | [log] [tgz] |
---|---|---|
author | Luca Milanesio <luca.milanesio@gmail.com> | Wed Apr 22 01:51:53 2020 +0100 |
committer | Luca Milanesio <luca.milanesio@gmail.com> | Wed Apr 22 11:17:19 2020 +0100 |
tree | f3bf1f4d44c59036cd2e0b2fbee730d2747e101e | |
parent | 15542c5e6c7532925e613d043a3d419455044024 [diff] |
Allow to send message to Kafka asynchronously Introduce a new configuration setting plugin.kafka-events.sendAsync that allows to control the synchrony of the send() operation to a Kafka producer. The existing behaviour on stable-2.16 do not wait for the Kafka broker to confirm that the message is sent to all the in-sync replicas. By disabling the asynchronous send of message, the send() would wait for the message to be sent and return the boolean result of the operation. NOTE: The drawback of the enabling the sendAsync parameter is that the broker-api would only return the status of the successful invocation of the Produder.send() operation and not the actual ack received by the Broker at the successful replication to all the replicas. Bug: Issue 12604 Change-Id: Iec5d1efb033d978bf12c47317895c68604dffecb
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/kafka-events gerrit/plugins/kafka-events cd gerrit rm plugins/external_plugin_deps.bzl ln -s ./kafka-events/external_plugin_deps.bzl plugins/.
To build the kafka-events plugins, issue the command from the Gerrit source path:
bazel build plugins/kafka-events
The output is created in
bazel-genfiles/plugins/kafka-events/kafka-events.jar
Assuming a running Kafka broker on the same Gerrit host, add the following settings to gerrit.config:
[plugin "kafka-events"] bootstrapServers = localhost:9092