Skip to content

Commit d38044a

Browse files
committed
Use client-local for default leader locator strategy
References rabbitmq/rabbitmq-server#4442. Fixes #110
1 parent 926851c commit d38044a

File tree

3 files changed

+27
-6
lines changed

3 files changed

+27
-6
lines changed

src/main/java/com/rabbitmq/stream/StreamCreator.java

+24-3
Original file line numberDiff line numberDiff line change
@@ -67,13 +67,34 @@ public interface StreamCreator {
6767

6868
/** The leader locator strategy. */
6969
enum LeaderLocator {
70-
/** The stream leader will be on the node the client is connected to. */
70+
71+
/**
72+
* The stream leader will be on the node the client is connected to.
73+
*
74+
* <p>This is the default value.
75+
*/
7176
CLIENT_LOCAL("client-local"),
7277

73-
/** The stream leader will be a random node of the cluster. */
78+
/**
79+
* The leader will be the node hosting the minimum number of stream leaders, if there are
80+
* overall less than 1000 queues, or a random node, if there are overall more than 1000 queues.
81+
*
82+
* <p>Available as of RabbitMQ 3.10.
83+
*/
84+
BALANCED("balanced"),
85+
86+
/**
87+
* The stream leader will be a random node of the cluster.
88+
*
89+
* <p>Deprecated as of RabbitMQ 3.10, same as {@link LeaderLocator#BALANCED}.
90+
*/
7491
RANDOM("random"),
7592

76-
/** The stream leader will be on the node with the least number of stream leaders. */
93+
/**
94+
* The stream leader will be on the node with the least number of stream leaders.
95+
*
96+
* <p>Deprecated as of RabbitMQ 3.10, same as {@link LeaderLocator#BALANCED}.
97+
*/
7798
LEAST_LEADERS("least-leaders");
7899

79100
String value;

src/main/java/com/rabbitmq/stream/impl/StreamStreamCreator.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ class StreamStreamCreator implements StreamCreator {
2525

2626
private final StreamEnvironment environment;
2727
private final Client.StreamParametersBuilder streamParametersBuilder =
28-
new Client.StreamParametersBuilder().leaderLocator(LeaderLocator.LEAST_LEADERS);
28+
new Client.StreamParametersBuilder().leaderLocator(LeaderLocator.CLIENT_LOCAL);
2929
private String stream;
3030

3131
StreamStreamCreator(StreamEnvironment environment) {

src/main/java/com/rabbitmq/stream/perf/StreamPerfTest.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -239,9 +239,9 @@ public class StreamPerfTest implements Callable<Integer> {
239239
names = {"--leader-locator", "-ll"},
240240
description =
241241
"leader locator strategy for created stream. "
242-
+ "Possible values: client-local, least-leaders, random.",
242+
+ "Possible values: client-local, balanced (RabbitMQ 3.10), least-leaders, random.",
243243
converter = Utils.LeaderLocatorTypeConverter.class,
244-
defaultValue = "least-leaders")
244+
defaultValue = "client-local")
245245
private LeaderLocator leaderLocator;
246246

247247
@CommandLine.Option(

0 commit comments

Comments
 (0)