fix: avoid logging io.EOF as error level in PostMsgSend and PostMsgReceive - #822
Open
dbeneker wants to merge 1 commit into
Open
fix: avoid logging io.EOF as error level in PostMsgSend and PostMsgReceive#822dbeneker wants to merge 1 commit into
dbeneker wants to merge 1 commit into
Conversation
avoid logging io.EOF as error in PostMsgSend and PostMsgReceive io.EOF from SendMsg/RecvMsg signals normal stream termination, not a failure. PostCall already normalizes it to nil, but PostMsgSend and PostMsgReceive passed it to codeFunc/levelFunc, causing the "started call" line to be logged at error level with grpc.error attached. Normalize io.EOF to nil after the payload gates are computed, so no empty payload is logged for the EOF event.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #821
Changes
io.EOFtonilinPostMsgSendandPostMsgReceiveof thelogging reporter, same as
PostCallalready does.io.EOFfromSendMsg/RecvMsgsignals normal stream termination, so the "started call"line no longer gets logged at error level with
grpc.error: EOFattached.Verification
TestPingStream_EOFIsNotLoggedAsError: a bidi stream where the clientcalls
CloseSend()without sending a message, so the firstRecvMsgon bothsides returns
io.EOF. The test fails without the fix (error level +grpc.error: EOFon both client and server) and passes with it.