Uploaded image for project: 'Couchbase .NET client library'
  1. Couchbase .NET client library
  2. NCBC-3382

HTTP query clients aren't streaming results

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • 3.4.7
    • 3.4.5
    • library
    • None
    • 0

    Description

      We currently have streaming deserialization implementations in place for many HTTP clients (N1QL, Views, Analytics). However, they are using HttpClient without passing an HttpCompletionOption (https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcompletionoption?view=net-7.0), This means that the result isn't returned to our streaming implementation until the entire response body is read (the default behavior), making the streaming support non-functional.

      This is secondarily affecting measurement of the dispatch span for request tracing, as the dispatch span is including the time required to receive the entire query response.

      Note: The query results are currently being streamed through the deserializer, so this isn't affecting behaviors like needing to read the rows before getting errors. We're also still getting the memory benefits of streaming in terms of the lifetime of the deserialized objects. This is only affecting the time to first result. This bug also increases the memory required for the HTTP content body, as it buffers the entire body.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            btburnett3 Brant Burnett
            btburnett3 Brant Burnett
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty