From 9bd0ec33f808cd2aa55048e535a9e8775f524dc6 Mon Sep 17 00:00:00 2001 From: Violeta Georgieva Date: Tue, 2 Apr 2019 16:42:52 +0300 Subject: [PATCH] Release cached item in ChannelSendOperator when server error Related to gh-22720 --- .../http/server/reactive/ChannelSendOperator.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/spring-web/src/main/java/org/springframework/http/server/reactive/ChannelSendOperator.java b/spring-web/src/main/java/org/springframework/http/server/reactive/ChannelSendOperator.java index ebea1c1637..fc20f17a42 100644 --- a/spring-web/src/main/java/org/springframework/http/server/reactive/ChannelSendOperator.java +++ b/spring-web/src/main/java/org/springframework/http/server/reactive/ChannelSendOperator.java @@ -394,7 +394,12 @@ public class ChannelSendOperator extends Mono implements Scannable { @Override public void onError(Throwable ex) { - this.completionSubscriber.onError(ex); + try { + this.completionSubscriber.onError(ex); + } + finally { + this.writeBarrier.releaseCachedItem(); + } } @Override