Add credit-based flow control for stream consumers Stream consumers had no explicit flow control. During replay, broker delivery could outrun processing and overload downstream systems. Use creditWhenHalfMessagesProcessed(initialCredits) when building the stream consumer. Call context.processed() after each handled message so credits replenish as processing advances. Add stream.initialCredits to [stream] configuration. Its default is 1 and its minimum value is 1. Stream credits permit broker chunks, not individual messages, and chunk sizes vary. Queue consumers use prefetch 300, allowing up to 300 unacknowledged deliveries. Stream consumers use chunk-based credits, so the values are not directly comparable. The one-credit default keeps the initial stream window to one chunk while replenishment follows processing progress. Change-Id: I20f3050c8c6f52d98b82b0f86c5178ec77c53b95
Publish gerrit stream events to a RabbitMQ queue. This plugin works with any version of Gerrit starting from v2.8. This plugin also implements most of the events-broker API, so RabbitMQ can be used as a message-broker in a multi-master setup. The one part that is missing is the implementation of the replayAllEvents method. However, this method is not needed by the multi-site plugin.
linuxjava-1.8Bazel [amqp]
uri = amqp://localhost
[exchange]
name = exchange-for-gerrit-queue
[message]
routingKey = com.foobar.www.gerrit
[gerrit]
name = foobar-gerrit
hostname = www.foobar.com
3.14 (Freezed)
stable-2.10master is permanently latest but would not be updated by author anymore.3.1
3.0
2.0
1.4
1.3
1.2
1.1
monitor.failureCount1.0
The Apache Software License, Version 2.0
Copyright (c) 2013 rinrinne a.k.a. rin_ne