GRPC EgressSession Reports Closed Stream with CallbackCancelled instead of HostUnreachable

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major - P3
    • 8.1.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • Networking & Observability
    • Fully Compatible
    • ALL
    • Egress gRPC 2025-01-31
    • 2
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None

      Discovered while testing mongotmock due to jstests/with_mongot/mongotmock/mongot_cursor_retries_on_network_error.js failing.

      Because gRPC only provides an "ok" status for tasks on the completion queue, we report all failures to read/write as "CallbackCancelled". This makes sense for some tasks (like alarms), but in the case where the task failed because the server closed the connection, the error code is incorrect. This causes us to fail to retry on closed connections. We will need to reconsider how to propagate error information correctly to ensure correct retry semantics with gRPC.

            Assignee:
            Erin McNulty
            Reporter:
            Erin McNulty
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: