chore(facade): remove no-op io_event_ notifies in ioloop v2 - #7635
Conversation
Remove io_event_.notify() calls from ExecuteBatch() and ReplyBatch(). These are no-ops because both functions run synchronously on the same V2 fiber that is the sole waiter of io_event_. A notify issued before the fiber reaches await() is consumed by prepareWait()'s epoch snapshot and has no effect. Cross-connection backpressure relief is handled separately by NotifyPipelineWaiters() in IoLoopV2() after ParseLoop() returns, so removing these does not affect backpressure signaling. Signed-off-by: Gil Levkovich <69595609+glevkovich@users.noreply.github.com>
PR Summary by QodoRemove no-op io_event_ notifications from IoLoopV2 batch paths Description
Diagram
High-Level Assessment
Files changed (1)
|
🤖 Augment PR SummarySummary: Removes redundant Why: These notifications are no-ops in the single-fiber V2 loop; cross-connection backpressure wakeups continue to be handled via 🤖 Was this summary useful? React with 👍 or 👎 |
There was a problem hiding this comment.
Pull request overview
This PR removes io_event_.notify() calls from Connection::ExecuteBatch() and Connection::ReplyBatch() for IoLoop V2, based on the fact that V2 runs these paths synchronously on the same fiber that later awaits on io_event_, making these notifies ineffective/no-op.
Changes:
- Removed V2-only
io_event_.notify()calls fromExecuteBatch()andReplyBatch(). - Kept V1 behavior to flush replies in
ReplyBatch(), while clarifying via comments that V2 flushing is handled inIoLoopV2.
Remove io_event_.notify() calls from ExecuteBatch() and ReplyBatch(). These are no-ops because both functions run synchronously on the same V2 fiber that is the sole waiter of io_event_. A notify issued before the fiber reaches await() is consumed by prepareWait()'s epoch snapshot and has no effect.
Cross-connection backpressure relief is handled separately by NotifyPipelineWaiters() in IoLoopV2() after ParseLoop() returns, so removing these does not affect backpressure signaling.