From: Robert Varga Date: Fri, 6 Sep 2024 08:39:24 +0000 (+0200) Subject: Take ownership of request message X-Git-Tag: v8.0.2~28 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F49%2F113449%2F7;p=netconf.git Take ownership of request message We have asynchronous processing here, hence SimpleChannelInboundHandler's defaults are working against us. Switch off autoRelease, hence we do not need to issue retain(). JIRA: NETCONF-1379 Change-Id: If4d86111c97122638f17bed52805468d2c3de240 Signed-off-by: Robert Varga --- diff --git a/protocol/restconf-server/src/main/java/org/opendaylight/restconf/server/RestconfSession.java b/protocol/restconf-server/src/main/java/org/opendaylight/restconf/server/RestconfSession.java index e55fad60d0..d7f56492fb 100644 --- a/protocol/restconf-server/src/main/java/org/opendaylight/restconf/server/RestconfSession.java +++ b/protocol/restconf-server/src/main/java/org/opendaylight/restconf/server/RestconfSession.java @@ -35,12 +35,13 @@ final class RestconfSession extends SimpleChannelInboundHandler private final RestconfRequestDispatcher dispatcher; RestconfSession(final RestconfRequestDispatcher dispatcher) { + super(FullHttpRequest.class, false); this.dispatcher = requireNonNull(dispatcher); } @Override protected void channelRead0(final ChannelHandlerContext ctx, final FullHttpRequest msg) { - dispatcher.dispatch(msg.retain(), new FutureCallback<>() { + dispatcher.dispatch(msg, new FutureCallback<>() { @Override public void onSuccess(final FullHttpResponse response) { final var streamId = msg.headers().getInt(STREAM_ID);