Simplify exception handling in PubSubMessageProcessor Remove the catch-log-rethrow pattern in getCommand(). Catch JsonParseException narrowly around getCommand() in handle() and return a failed future, so that MessageReceiverProvider's exceptionally() handler takes care of logging and nacking. Change-Id: I7986b5cd6f670b76dee4753f261d10926a6a6964
This plugin provides an extension of the Gerrit's high-availability plugin: it provides GCP pubsub based message forwarding.
This plugin is released under the same Apache 2.0 license and copyright holders as of the Gerrit Code Review project.
Refer to the build instructions in the plugin documentation.
Install
high-availability-gcp plugin in the Gerrit site's plugins folder.This is a minimal configuration:
[pubsub] projectId = my-gcp-project privateKeyLocation = /path/to/private/key/my-gcp-project-6f0d80a3f655.json
A complete set of configuration options is given in the following example. The example values given here are also the default values:
[pubsub] projectId = my-gcp-project privateKeyLocation = /path/to/private/key/my-gcp-project-6f0d80a3f655.json [pubsub "topics"] main = default streamEvents = stream-events [pubsub "limits"] subscriptionTimeout = 10s shutdownTimeout = 10s publisherThreadPoolSize = 4 subscriberThreadPoolSize = 4 [pubsub "retention"] ackDeadline = 10s messageRetentionDuration = 7d retainAckedMessages = false [pubsub "retry"] maxDeliveryAttempts = 5 minimumBackoff = 10s maximumBackoff = 10m