Improve naming of NATS stream and durable consumers
- append the serverId to the stream name, in case multiple gerrit
servers use the same NATS cluster
- append the instanceId to the durable consumer name, in a multi-site
setup each Gerrit instance needs its own durable NATS consumer to
ensure all events are delivered to each instance
diff --git a/src/main/java/com/googlesource/gerrit/plugins/nats/Configuration.java b/src/main/java/com/googlesource/gerrit/plugins/nats/Configuration.java
index 838f9ab..a7608ed 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/nats/Configuration.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/nats/Configuration.java
@@ -58,7 +58,7 @@
sendStreamEvents = pluginConfig.getBoolean("sendStreamEvents", false);
streamName =
- String.format("%s-%s", pluginConfig.getString("streamName", "gerrit"), gerritInstanceId);
+ String.format("%s-%s", pluginConfig.getString("streamName", "gerrit"), gerritServerId);
isPublishAsync = pluginConfig.getBoolean("publishAsync", false);
streamEventsSubject =
getStringParam(pluginConfig, "streamEventsSubject", "gerrit_stream_events");
@@ -70,7 +70,7 @@
jetStreamOptions = new JetStreamOptions.Builder().build();
publishOptions = new PublishOptions.Builder().stream(streamEventsSubject).build();
publishThreads = pluginConfig.getInt("publishThreads", 1);
- String consumerName = "consumer-" + gerritInstanceId;
+ String consumerName = "instance-" + gerritInstanceId;
pushSubscribeOptions =
ConsumerConfiguration.builder()
.durable(consumerName)