Fixed - RStream.trim() and trimNonStrict() methods don't work with Redis 6.2+ #5353

pull/5361/head
Nikita Koksharov 1 year ago
parent 2669597d81
commit d57f2009d8

@ -1406,7 +1406,7 @@ public class RedissonStream<K, V> extends RedissonExpirable implements RStream<K
List<Object> params = new LinkedList<>();
params.add(getRawName());
if (pps.getMaxLen() > 0) {
if (pps.getMaxLen() != null) {
params.add("MAXLEN");
if (!trimStrict) {
params.add("~");

@ -26,7 +26,7 @@ public final class StreamTrimParams implements StreamTrimStrategyArgs<StreamTrim
StreamTrimArgs,
StreamTrimLimitArgs<StreamTrimArgs> {
int maxLen;
Integer maxLen;
StreamMessageId minId;
int limit;
@ -62,7 +62,7 @@ public final class StreamTrimParams implements StreamTrimStrategyArgs<StreamTrim
return this;
}
public int getMaxLen() {
public Integer getMaxLen() {
return maxLen;
}

@ -106,6 +106,10 @@ public class RedissonStreamTest extends BaseTest {
stream.add(StreamAddArgs.entry("2", "2"));
assertThat(stream.trim(StreamTrimArgs.maxLen(2).noLimit())).isEqualTo(1);
RStream<String, String> stream2 = redisson.getStream("myStream");
StreamTrimArgs trimArgs = StreamTrimArgs.maxLen(0).noLimit();
assertThat(stream2.trim(trimArgs)).isZero();
}
@Test

Loading…
Cancel
Save