Skip to content

Downgrade "No callback for response message" from Warning to Debug in OutsideRuntimeClient - #9950

Merged
ReubenBond merged 2 commits into
mainfrom
copilot/convert-warnings-to-debug-logs
Feb 26, 2026
Merged

Downgrade "No callback for response message" from Warning to Debug in OutsideRuntimeClient#9950
ReubenBond merged 2 commits into
mainfrom
copilot/convert-warnings-to-debug-logs

Conversation

Copilot AI commented Feb 26, 2026

Copy link
Copy Markdown
Contributor

When a client cancels an IAsyncEnumerable enumerator, the server still sends a response after the client has already removed the callback — producing frequent, noisy Warning logs that are entirely expected behavior.

Changes

  • OutsideRuntimeClient.cs: Change log level for "No callback for response message" from LogLevel.WarningLogLevel.Debug, matching the identical log already at Debug in InsideRuntimeClient.cs. Renamed method from LogWarningNoCallbackForResponseMessageLogDebugNoCallbackForResponseMessage for consistency.
Original prompt

This section details on the original issue you should resolve

<issue_title>Frequent warning logs due to client-side cancellation of an IAsyncEnumerable enumerator</issue_title>
<issue_description>With the update to Orleans 10, I now have a noticeably increased warning rate on the (outside) Orleans clients.

No callback for response message '"IsAlwaysInterleave Response [/grain/]->[ /client/] (Canceled, ) #3F2A2E365932F362"'

I agree with Copilot's analysis that this response message is the value tuple from AsyncEnumerableExtension due to the server-side half of cancellation and that it is received by a client that has already cleaned up the the message from the callback dictionary due to its own, initiated cancellation.</issue_description>

<agent_instructions>convert this to a debug log</agent_instructions>

Comments on the Issue (you are @copilot in this section)

@ReubenBond Thanks for reporting @Tragetaschen. We should convert this to a debug log, since it's expected. I'll have copilot do it now.

🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.

Microsoft Reviewers: Open in CodeFlow

…utsideRuntimeClient

Co-authored-by: ReubenBond <203839+ReubenBond@users.noreply.github.com>
Copilot AI changed the title [WIP] Convert frequent warning logs to debug logs Downgrade "No callback for response message" from Warning to Debug in OutsideRuntimeClient Feb 26, 2026
@ReubenBond

Copy link
Copy Markdown
Member

@copilot Also make this change in InsideRuntimeClient

Copilot AI commented Feb 26, 2026

Copy link
Copy Markdown
Contributor Author

@copilot Also make this change in InsideRuntimeClient

InsideRuntimeClient already has the equivalent log (LogDebugNoCallbackForResponse) at LogLevel.Debug — it was never at Warning. The Warning was only in OutsideRuntimeClient, which is now fixed in f247a87.

@ReubenBond
ReubenBond marked this pull request as ready for review February 26, 2026 13:58
Copilot AI review requested due to automatic review settings February 26, 2026 13:58

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adjusts logging in OutsideRuntimeClient to reduce expected warning noise when clients cancel IAsyncEnumerable enumerations and a late response arrives without a registered callback.

Changes:

  • Downgrade “No callback for response message …” log from Warning to Debug in OutsideRuntimeClient.
  • Rename the logger helper method to reflect the new log level (LogWarning…LogDebug…).

@ReubenBond
ReubenBond added this pull request to the merge queue Feb 26, 2026
Merged via the queue into main with commit 86e291d Feb 26, 2026
63 of 64 checks passed
@ReubenBond
ReubenBond deleted the copilot/convert-warnings-to-debug-logs branch February 26, 2026 20:19
rkargMsft pushed a commit to rkargMsft/orleans that referenced this pull request Feb 27, 2026
… OutsideRuntimeClient (dotnet#9950)

* Initial plan

* Convert 'No callback for response message' from Warning to Debug in OutsideRuntimeClient

Co-authored-by: ReubenBond <203839+ReubenBond@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: ReubenBond <203839+ReubenBond@users.noreply.github.com>
@github-actions github-actions Bot locked and limited conversation to collaborators Mar 29, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Frequent warning logs due to client-side cancellation of an IAsyncEnumerable enumerator

3 participants