Skip to content

Commit 780b265

Browse files
committed
Rename pendingReferences to deletionPolicy
Signed-off-by: Chris Bono <chris.bono@broadcom.com>
1 parent 9f3b801 commit 780b265

File tree

9 files changed

+50
-47
lines changed

9 files changed

+50
-47
lines changed

src/main/java/org/springframework/data/redis/connection/RedisStreamCommands.java

Lines changed: 30 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -174,13 +174,13 @@ class TrimOptions {
174174
private final TrimStrategy trimStrategy;
175175
private final TrimOperator trimOperator;
176176
private final @Nullable Long limit;
177-
private final @Nullable StreamDeletionPolicy pendingReferences;
177+
private final @Nullable StreamDeletionPolicy deletionPolicy;
178178

179-
private TrimOptions(TrimStrategy trimStrategy, TrimOperator trimOperator, @Nullable Long limit, @Nullable StreamDeletionPolicy pendingReferences) {
179+
private TrimOptions(TrimStrategy trimStrategy, TrimOperator trimOperator, @Nullable Long limit, @Nullable StreamDeletionPolicy deletionPolicy) {
180180
this.trimStrategy = trimStrategy;
181181
this.trimOperator = trimOperator;
182182
this.limit = limit;
183-
this.pendingReferences = pendingReferences;
183+
this.deletionPolicy = deletionPolicy;
184184
}
185185

186186

@@ -222,7 +222,7 @@ public static TrimOptions minId(RecordId minId) {
222222
* @return new instance of {@link XTrimOptions}.
223223
*/
224224
public TrimOptions trim(TrimOperator trimOperator) {
225-
return new TrimOptions(trimStrategy, trimOperator, limit, pendingReferences);
225+
return new TrimOptions(trimStrategy, trimOperator, limit, deletionPolicy);
226226
}
227227

228228
/**
@@ -233,7 +233,7 @@ public TrimOptions trim(TrimOperator trimOperator) {
233233
* @return new instance of {@link TrimOptions} with {@link TrimOperator#APPROXIMATE}.
234234
*/
235235
public TrimOptions approximate() {
236-
return new TrimOptions(trimStrategy, TrimOperator.APPROXIMATE, limit, pendingReferences);
236+
return new TrimOptions(trimStrategy, TrimOperator.APPROXIMATE, limit, deletionPolicy);
237237
}
238238

239239
/**
@@ -244,7 +244,7 @@ public TrimOptions approximate() {
244244
* @return new instance of {@link TrimOptions} with {@link TrimOperator#EXACT}.
245245
*/
246246
public TrimOptions exact() {
247-
return new TrimOptions(trimStrategy, TrimOperator.EXACT, limit, pendingReferences);
247+
return new TrimOptions(trimStrategy, TrimOperator.EXACT, limit, deletionPolicy);
248248
}
249249

250250

@@ -257,19 +257,19 @@ public TrimOptions exact() {
257257
* @return new instance of {@link XTrimOptions}.
258258
*/
259259
public TrimOptions limit(long limit) {
260-
return new TrimOptions(trimStrategy, trimOperator, limit, pendingReferences);
260+
return new TrimOptions(trimStrategy, trimOperator, limit, deletionPolicy);
261261
}
262262

263263
/**
264264
* Set the deletion policy for trimming.
265265
* <p>
266266
* This is a member method that preserves all other options.
267267
*
268-
* @param pendingReferences the deletion policy to apply.
268+
* @param deletionPolicy the deletion policy to apply.
269269
* @return new instance of {@link XTrimOptions}.
270270
*/
271-
public TrimOptions pendingReferences(StreamDeletionPolicy pendingReferences) {
272-
return new TrimOptions(trimStrategy, trimOperator, limit, pendingReferences);
271+
public TrimOptions deletionPolicy(StreamDeletionPolicy deletionPolicy) {
272+
return new TrimOptions(trimStrategy, trimOperator, limit, deletionPolicy);
273273
}
274274

275275
public TrimStrategy getTrimStrategy() {
@@ -303,16 +303,16 @@ public boolean hasLimit() {
303303
* @return the deletion policy.
304304
* @since 4.0
305305
*/
306-
public @Nullable StreamDeletionPolicy getPendingReferences() {
307-
return pendingReferences;
306+
public @Nullable StreamDeletionPolicy getDeletionPolicy() {
307+
return deletionPolicy;
308308
}
309309

310310
/**
311311
* @return {@literal true} if {@literal DELETION_POLICY} is set.
312312
* @since 4.0
313313
*/
314314
public boolean hasDeletionPolicy() {
315-
return pendingReferences != null;
315+
return deletionPolicy != null;
316316
}
317317

318318
@Override
@@ -329,15 +329,15 @@ public boolean equals(@Nullable Object o) {
329329
if (this.trimOperator.equals(that.trimOperator)) {
330330
return false;
331331
}
332-
return ObjectUtils.nullSafeEquals(pendingReferences, that.pendingReferences);
332+
return ObjectUtils.nullSafeEquals(deletionPolicy, that.deletionPolicy);
333333
}
334334

335335
@Override
336336
public int hashCode() {
337337
int result = trimStrategy.hashCode();
338338
result = 31 * result + trimOperator.hashCode();
339339
result = 31 * result + ObjectUtils.nullSafeHashCode(limit);
340-
result = 31 * result + ObjectUtils.nullSafeHashCode(pendingReferences);
340+
result = 31 * result + ObjectUtils.nullSafeHashCode(deletionPolicy);
341341
return result;
342342
}
343343
}
@@ -551,25 +551,29 @@ public int hashCode() {
551551
}
552552

553553
/**
554-
* Deletion policy for stream entries.
554+
* Deletion policy for stream entries - specifies how to handle consumer group references when deleting stream
555+
* entries.
555556
*
556557
* @author Viktoriya Kutsarova
557558
* @since 4.1
558559
*/
559560
enum StreamDeletionPolicy {
560561

561562
/**
562-
* Remove entries according to the specified strategy, but preserve existing references.
563+
* Remove entries according to the specified strategy, but preserve existing references to these entries in all
564+
* consumer groups' PEL (Pending Entries List).
563565
*/
564566
KEEP_REFERENCES,
565567

566568
/**
567-
* Remove entries according to the specified strategy and remove references.
569+
* Remove entries according to the specified strategy and remove all references to these entries from all
570+
* consumer groups' PEL.
568571
*/
569572
DELETE_REFERENCES,
570573

571574
/**
572-
* Remove entries that are read and acknowledged and remove references.
575+
* Remove entries that meet the specified strategy and that have been read and acknowledged by all
576+
* consumer groups.
573577
*/
574578
ACKNOWLEDGED;
575579

@@ -929,10 +933,10 @@ class XDelOptions {
929933

930934
private static final XDelOptions DEFAULT = new XDelOptions(StreamDeletionPolicy.keep());
931935

932-
private final StreamDeletionPolicy pendingReferences;
936+
private final StreamDeletionPolicy deletionPolicy;
933937

934-
private XDelOptions(StreamDeletionPolicy pendingReferences) {
935-
this.pendingReferences = pendingReferences;
938+
private XDelOptions(StreamDeletionPolicy deletionPolicy) {
939+
this.deletionPolicy = deletionPolicy;
936940
}
937941

938942
/**
@@ -961,8 +965,8 @@ public static XDelOptions deletionPolicy(StreamDeletionPolicy deletionPolicy) {
961965
/**
962966
* @return the deletion policy.
963967
*/
964-
public StreamDeletionPolicy getPendingReferences() {
965-
return pendingReferences;
968+
public StreamDeletionPolicy getDeletionPolicy() {
969+
return deletionPolicy;
966970
}
967971

968972
@Override
@@ -973,12 +977,12 @@ public boolean equals(@Nullable Object o) {
973977
if (!(o instanceof XDelOptions that)) {
974978
return false;
975979
}
976-
return pendingReferences.equals(that.pendingReferences);
980+
return deletionPolicy.equals(that.deletionPolicy);
977981
}
978982

979983
@Override
980984
public int hashCode() {
981-
return pendingReferences.hashCode();
985+
return deletionPolicy.hashCode();
982986
}
983987
}
984988

src/main/java/org/springframework/data/redis/connection/jedis/StreamConverters.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ public static XAddParams toXAddParams(RecordId recordId, XAddOptions options) {
239239
}
240240

241241
if (trim.hasDeletionPolicy()) {
242-
params.trimmingMode(toStreamDeletionPolicy(trim.getPendingReferences()));
242+
params.trimmingMode(toStreamDeletionPolicy(trim.getDeletionPolicy()));
243243
}
244244
}
245245

@@ -269,7 +269,7 @@ public static XTrimParams toXTrimParams(XTrimOptions options) {
269269
}
270270

271271
if (trim.hasDeletionPolicy()) {
272-
params.trimmingMode(toStreamDeletionPolicy(trim.getPendingReferences()));
272+
params.trimmingMode(toStreamDeletionPolicy(trim.getDeletionPolicy()));
273273
}
274274

275275
return params;
@@ -375,7 +375,7 @@ public static XPendingParams toXPendingParams(XPendingOptions options) {
375375
}
376376

377377
public static StreamDeletionPolicy toStreamDeletionPolicy(XDelOptions options) {
378-
return toStreamDeletionPolicy(options.getPendingReferences());
378+
return toStreamDeletionPolicy(options.getDeletionPolicy());
379379
}
380380

381381
/**

src/main/java/org/springframework/data/redis/connection/lettuce/StreamConverters.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ static XAddArgs toXAddArgs(RecordId recordId, XAddOptions options) {
105105
args.approximateTrimming(trimOptions.getTrimOperator() == TrimOperator.APPROXIMATE);
106106

107107
if (trimOptions.hasDeletionPolicy()) {
108-
args.trimmingMode(toStreamDeletionPolicy(trimOptions.getPendingReferences()));
108+
args.trimmingMode(toStreamDeletionPolicy(trimOptions.getDeletionPolicy()));
109109
}
110110
}
111111

@@ -137,14 +137,14 @@ else if (trimStrategy instanceof MinIdTrimStrategy minIdTrimStrategy) {
137137
args.approximateTrimming(trimOptions.getTrimOperator() == TrimOperator.APPROXIMATE);
138138

139139
if (trimOptions.hasDeletionPolicy()) {
140-
args.trimmingMode(toStreamDeletionPolicy(trimOptions.getPendingReferences()));
140+
args.trimmingMode(toStreamDeletionPolicy(trimOptions.getDeletionPolicy()));
141141
}
142142

143143
return args;
144144
}
145145

146146
static StreamDeletionPolicy toXDelArgs(XDelOptions options) {
147-
return toStreamDeletionPolicy(options.getPendingReferences());
147+
return toStreamDeletionPolicy(options.getDeletionPolicy());
148148
}
149149

150150
static Converter<StreamMessage<byte[], byte[]>, ByteRecord> byteRecordConverter() {

src/test/java/org/springframework/data/redis/connection/AbstractConnectionIntegrationTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4143,7 +4143,7 @@ void xAddShouldHonorExactTrimming() {
41434143
void xAddShouldHonorDeletionPolicy() {
41444144

41454145
XAddOptions xAddOptions = XAddOptions.trim(TrimOptions.maxLen(5).approximate()
4146-
.pendingReferences(StreamDeletionPolicy.delete()));
4146+
.deletionPolicy(StreamDeletionPolicy.delete()));
41474147

41484148
// Add multiple entries with deletion policy
41494149
actual.add(
@@ -4289,7 +4289,7 @@ void xTrimShouldHonorDeletionPolicy() {
42894289

42904290
// Trim with deletion policy
42914291
actual.add(connection.xTrim(KEY_1, XTrimOptions.trim(TrimOptions.maxLen(5).approximate()
4292-
.pendingReferences(StreamDeletionPolicy.delete()))));
4292+
.deletionPolicy(StreamDeletionPolicy.delete()))));
42934293
actual.add(connection.xLen(KEY_1));
42944294

42954295
List<Object> results = getResults();

src/test/java/org/springframework/data/redis/connection/jedis/StreamConvertersUnitTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ static Stream<Arguments> convertXAddOptions() {
7575
argumentSet("withApproximateTrimming", XAddOptions.trim(TrimOptions.maxLen(100).approximate()), "approximateTrimming", true),
7676
argumentSet("withExactTrimming", XAddOptions.trim(TrimOptions.maxLen(100).exact()), "exactTrimming", true),
7777
argumentSet("withLimit", XAddOptions.trim(TrimOptions.maxLen(100).approximate().limit(50)), "limit", 50L),
78-
argumentSet("withDeletionPolicy", XAddOptions.trim(TrimOptions.maxLen(100).pendingReferences(StreamDeletionPolicy.keep())), "trimMode", redis.clients.jedis.args.StreamDeletionPolicy.KEEP_REFERENCES)
78+
argumentSet("withDeletionPolicy", XAddOptions.trim(TrimOptions.maxLen(100).deletionPolicy(StreamDeletionPolicy.keep())), "trimMode", redis.clients.jedis.args.StreamDeletionPolicy.KEEP_REFERENCES)
7979
);
8080
}
8181

@@ -107,7 +107,7 @@ static Stream<Arguments> toXTrimParamsShouldConvertXTrimOptions() {
107107
argumentSet("withApproximateTrimming", XTrimOptions.trim(TrimOptions.maxLen(100).approximate()), "approximateTrimming", true),
108108
argumentSet("withExactTrimming", XTrimOptions.trim(TrimOptions.maxLen(100).exact()), "exactTrimming", true),
109109
argumentSet("withLimit", XTrimOptions.trim(TrimOptions.maxLen(100).approximate().limit(50)), "limit", 50L),
110-
argumentSet("withDeletionPolicy", XTrimOptions.trim(TrimOptions.maxLen(100).pendingReferences(StreamDeletionPolicy.keep())), "trimMode", redis.clients.jedis.args.StreamDeletionPolicy.KEEP_REFERENCES)
110+
argumentSet("withDeletionPolicy", XTrimOptions.trim(TrimOptions.maxLen(100).deletionPolicy(StreamDeletionPolicy.keep())), "trimMode", redis.clients.jedis.args.StreamDeletionPolicy.KEEP_REFERENCES)
111111
);
112112
}
113113

src/test/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionUnitTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,7 @@ void xaddShouldHonorDeletionPolicy() {
318318
MapRecord<byte[], byte[], byte[]> record = MapRecord.create("key".getBytes(), Collections.emptyMap());
319319

320320
connection.streamCommands().xAdd(record,
321-
XAddOptions.trim(TrimOptions.maxLen(100).pendingReferences(RedisStreamCommands.StreamDeletionPolicy.keep())));
321+
XAddOptions.trim(TrimOptions.maxLen(100).deletionPolicy(RedisStreamCommands.StreamDeletionPolicy.keep())));
322322
ArgumentCaptor<XAddArgs> args = ArgumentCaptor.forClass(XAddArgs.class);
323323
verify(asyncCommandsMock).xadd(any(), args.capture(), anyMap());
324324

@@ -383,7 +383,7 @@ void xtrimShouldHonorLimit() {
383383
void xtrimShouldHonorDeletionPolicy() {
384384

385385
connection.streamCommands().xTrim("key".getBytes(), XTrimOptions.trim(TrimOptions.maxLen(100)
386-
.pendingReferences(RedisStreamCommands.StreamDeletionPolicy.keep())));
386+
.deletionPolicy(RedisStreamCommands.StreamDeletionPolicy.keep())));
387387
ArgumentCaptor<XTrimArgs> args = ArgumentCaptor.forClass(XTrimArgs.class);
388388
verify(asyncCommandsMock).xtrim(any(), args.capture());
389389

src/test/java/org/springframework/data/redis/connection/lettuce/LettuceConvertersUnitTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -523,7 +523,7 @@ void convertXAddOptionsWithLimit() {
523523
void convertXAddOptionsWithDeletionPolicy() {
524524

525525
RecordId recordId = RecordId.autoGenerate();
526-
XAddOptions options = XAddOptions.trim(TrimOptions.maxLen(100).pendingReferences(StreamDeletionPolicy.keep()));
526+
XAddOptions options = XAddOptions.trim(TrimOptions.maxLen(100).deletionPolicy(StreamDeletionPolicy.keep()));
527527

528528
XAddArgs args = StreamConverters.toXAddArgs(recordId, options);
529529

@@ -598,7 +598,7 @@ void convertXTrimOptionsWithLimit() {
598598
@Test
599599
void convertXTrimOptionsWithDeletionPolicy() {
600600

601-
XTrimOptions options = XTrimOptions.trim(TrimOptions.maxLen(100).pendingReferences(StreamDeletionPolicy.keep()));
601+
XTrimOptions options = XTrimOptions.trim(TrimOptions.maxLen(100).deletionPolicy(StreamDeletionPolicy.keep()));
602602

603603
XTrimArgs args = StreamConverters.toXTrimArgs(options);
604604

src/test/java/org/springframework/data/redis/core/DefaultReactiveStreamOperationsIntegrationTests.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,6 @@
1818
import static org.assertj.core.api.Assertions.*;
1919
import static org.junit.Assume.*;
2020

21-
import org.springframework.data.redis.connection.RedisStreamCommands;
22-
import org.springframework.data.redis.connection.RedisStreamCommands.StreamEntryDeletionResult;
23-
import org.springframework.data.redis.connection.RedisStreamCommands.XDelOptions;
24-
import org.springframework.data.redis.connection.RedisStreamCommands.StreamDeletionPolicy;
2521
import reactor.test.StepVerifier;
2622

2723
import java.time.Duration;
@@ -42,8 +38,11 @@
4238
import org.springframework.data.redis.connection.Limit;
4339
import org.springframework.data.redis.connection.RedisConnection;
4440
import org.springframework.data.redis.connection.RedisConnectionFactory;
41+
import org.springframework.data.redis.connection.RedisStreamCommands.StreamDeletionPolicy;
42+
import org.springframework.data.redis.connection.RedisStreamCommands.StreamEntryDeletionResult;
4543
import org.springframework.data.redis.connection.RedisStreamCommands.TrimOptions;
4644
import org.springframework.data.redis.connection.RedisStreamCommands.XAddOptions;
45+
import org.springframework.data.redis.connection.RedisStreamCommands.XDelOptions;
4746
import org.springframework.data.redis.connection.stream.Consumer;
4847
import org.springframework.data.redis.connection.stream.MapRecord;
4948
import org.springframework.data.redis.connection.stream.ReadOffset;
@@ -392,7 +391,7 @@ void addWithDeletionPolicyShouldApplyPolicy() {
392391
HK hashKey = hashKeyFactory.instance();
393392
HV value = valueFactory.instance();
394393

395-
XAddOptions options = XAddOptions.trim(TrimOptions.maxLen(5).approximate().pendingReferences(StreamDeletionPolicy.delete()));
394+
XAddOptions options = XAddOptions.trim(TrimOptions.maxLen(5).approximate().deletionPolicy(StreamDeletionPolicy.delete()));
396395

397396
// Add multiple messages with deletion policy
398397
for (int i = 0; i < 3; i++) {

src/test/java/org/springframework/data/redis/core/DefaultStreamOperationsIntegrationTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -358,7 +358,7 @@ void addWithDeletionPolicyShouldApplyPolicy() {
358358
HV value = hashValueFactory.instance();
359359

360360
XAddOptions options = XAddOptions.trim(TrimOptions.maxLen(5).approximate()
361-
.pendingReferences(StreamDeletionPolicy.delete()));
361+
.deletionPolicy(StreamDeletionPolicy.delete()));
362362

363363
// Add multiple messages with deletion policy
364364
for (int i = 0; i < 3; i++) {
@@ -486,7 +486,7 @@ void trimShouldHonorDeletionPolicy() {
486486

487487
// Trim with deletion policy
488488
streamOps.trim(key, XTrimOptions.trim(TrimOptions.maxLen(5).approximate()
489-
.pendingReferences(StreamDeletionPolicy.delete())));
489+
.deletionPolicy(StreamDeletionPolicy.delete())));
490490

491491
// Verify trimming was applied
492492
assertThat(streamOps.size(key)).isGreaterThan(0L).isLessThanOrEqualTo(10L);

0 commit comments

Comments
 (0)