diff --git a/src/main/java/com/rabbitmq/stream/perf/StreamPerfTest.java b/src/main/java/com/rabbitmq/stream/perf/StreamPerfTest.java index bddead454c..fe40fdb00d 100644 --- a/src/main/java/com/rabbitmq/stream/perf/StreamPerfTest.java +++ b/src/main/java/com/rabbitmq/stream/perf/StreamPerfTest.java @@ -224,7 +224,7 @@ public class StreamPerfTest implements Callable { @CommandLine.Option( names = {"--max-length-bytes", "-mlb"}, - description = "max size of created streams", + description = "max size of created streams, use 0 for no limit", defaultValue = "20gb", converter = Utils.ByteCapacityTypeConverter.class) private ByteCapacity maxLengthBytes; @@ -976,10 +976,13 @@ public Integer call() throws Exception { private void createStream(Environment environment, String stream) { StreamCreator streamCreator = environment.streamCreator().stream(stream) - .maxLengthBytes(this.maxLengthBytes) .maxSegmentSizeBytes(this.maxSegmentSize) .leaderLocator(this.leaderLocator); + if (this.maxLengthBytes.toBytes() != 0) { + streamCreator.maxLengthBytes(this.maxLengthBytes); + } + if (this.maxAge != null) { streamCreator.maxAge(this.maxAge); } diff --git a/src/test/java/com/rabbitmq/stream/ByteCapacityTest.java b/src/test/java/com/rabbitmq/stream/ByteCapacityTest.java index f265fe4ee8..9b2a9bb4b7 100644 --- a/src/test/java/com/rabbitmq/stream/ByteCapacityTest.java +++ b/src/test/java/com/rabbitmq/stream/ByteCapacityTest.java @@ -48,6 +48,12 @@ void fromOk(String value, long expectedValueInBytes) { assertThat(capacity.toString()).isEqualTo(value); } + @ValueSource(strings = {"0tb", "0gb", "0mb", "0kb", "0"}) + @ParameterizedTest + void zero(String value) { + assertThat(ByteCapacity.from(value).toBytes()).isEqualTo(0); + } + @ParameterizedTest @ValueSource(strings = {"100.0gb", "abc", "100.0", "-10gb", "10b"}) void fromKo(String value) {