Skip to content

Commit bd2c213

Browse files
committed
Remove buffer release used as workaround
The extra buffer release was used as a workaround for a reactor core issue and should have already been removed as part of b3bc2d9.
1 parent 3ebbfa2 commit bd2c213

File tree

1 file changed

+5
-9
lines changed

1 file changed

+5
-9
lines changed

spring-core/src/main/java/org/springframework/core/io/buffer/DataBufferUtils.java

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -524,13 +524,9 @@ public void completed(Integer read, DataBuffer dataBuffer) {
524524
long pos = this.position.addAndGet(read);
525525
dataBuffer.writePosition(read);
526526
this.sink.next(dataBuffer);
527-
// It's possible for cancellation to happen right before the push into the sink
527+
// onNext may have led to onCancel (e.g. downstream takeUntil)
528528
if (this.disposed.get()) {
529-
// TODO:
530-
// This is not ideal since we already passed the buffer into the sink and
531-
// releasing may cause something reading to fail. Maybe we won't have to
532-
// do this after https://github.com/reactor/reactor-core/issues/1634
533-
complete(dataBuffer);
529+
complete();
534530
}
535531
else {
536532
DataBuffer newDataBuffer = this.dataBufferFactory.allocateBuffer(this.bufferSize);
@@ -539,12 +535,12 @@ public void completed(Integer read, DataBuffer dataBuffer) {
539535
}
540536
}
541537
else {
542-
complete(dataBuffer);
538+
release(dataBuffer);
539+
complete();
543540
}
544541
}
545542

546-
private void complete(DataBuffer dataBuffer) {
547-
release(dataBuffer);
543+
private void complete() {
548544
this.sink.complete();
549545
closeChannel(this.channel);
550546
}

0 commit comments

Comments
 (0)