>From Michael Blow <[email protected]>: Michael Blow has submitted this change. ( https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20027 )
Change subject: [NO ISSUE][HYR][HTTP] Fix omitted access log on some netty responses ...................................................................... [NO ISSUE][HYR][HTTP] Fix omitted access log on some netty responses The CLFLogger had assumptions that if a DefaultFullHttpResponse was not received, it would receive one or more DefaultHttpContent instances followed by a LastHttpContent. In reality, Netty is free to return a DefaultHttpContent that also implements LastHttpContent, which causes the CLF log entry to never be emitted. Ext-ref: MB-67407 Change-Id: I8aa6c6e8e61eb63a83dd259afbe30b08969128eb Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20027 Integration-Tests: Jenkins <[email protected]> Tested-by: Michael Blow <[email protected]> Reviewed-by: Michael Blow <[email protected]> --- M hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/CLFLogger.java 1 file changed, 24 insertions(+), 9 deletions(-) Approvals: Michael Blow: Looks good to me, approved; Verified Jenkins: Verified diff --git a/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/CLFLogger.java b/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/CLFLogger.java index a24ed95..6476ab9 100644 --- a/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/CLFLogger.java +++ b/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/CLFLogger.java @@ -34,10 +34,8 @@ import io.netty.handler.codec.http.DefaultFullHttpResponse; import io.netty.handler.codec.http.DefaultHttpContent; import io.netty.handler.codec.http.DefaultHttpResponse; -import io.netty.handler.codec.http.HttpContent; import io.netty.handler.codec.http.HttpHeaderNames; import io.netty.handler.codec.http.HttpRequest; -import io.netty.handler.codec.http.HttpResponse; import io.netty.handler.codec.http.LastHttpContent; //Based in part on LoggingHandler from Netty @@ -99,18 +97,15 @@ @Override public void write(ChannelHandlerContext ctx, Object msg, ChannelPromise promise) { - if (msg instanceof DefaultHttpResponse) { - HttpResponse resp = (DefaultHttpResponse) msg; + if (msg instanceof DefaultHttpResponse resp) { statusCode = resp.status().code(); if (msg instanceof DefaultFullHttpResponse) { - lastChunk = true; respSize = resp.headers().getInt(HttpHeaderNames.CONTENT_LENGTH, 0); } - } else if (msg instanceof DefaultHttpContent) { - HttpContent content = (DefaultHttpContent) msg; - + } else if (msg instanceof DefaultHttpContent content) { respSize += content.content().readableBytes(); - } else if (msg instanceof LastHttpContent) { + } + if (msg instanceof LastHttpContent) { lastChunk = true; } -- To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20027 To unsubscribe, or for help writing mail filters, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Change-Id: I8aa6c6e8e61eb63a83dd259afbe30b08969128eb Gerrit-Change-Number: 20027 Gerrit-PatchSet: 2 Gerrit-Owner: Michael Blow <[email protected]> Gerrit-Reviewer: Hussain Towaileb <[email protected]> Gerrit-Reviewer: Ian Maxon <[email protected]> Gerrit-Reviewer: Jenkins <[email protected]> Gerrit-Reviewer: Michael Blow <[email protected]> Gerrit-MessageType: merged
