Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-46347

ns_server should terminate streaming requests where the peer is not reading from the stream

    XMLWordPrintable

Details

    • Triaged
    • Yes

    Description

      We've seen in a couple of cases recently where clients did not drain bytes from streaming requests opened against ns_server.

      This is one such case. In this there was 11k items in the message queue and the process showed it was holding onto what looks to be 580 MB of memory.

      This is another case. In this case, there were 2k open streaming connections each of which was backed up to the extent of a couple of hundred KB of data.

      Fixing this doesn't seem so straightforard. When streaming requests are unhibernated to check to see whether more data should be send on the streaming connection, they could take a look at process memory or message queue length as a proxy for liveness of the client. But it would be good to have some protection here if we can figure it out.

      Attachments

        Issue Links

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

          Activity

            People

              Abhijeeth.Nuthan Abhijeeth Nuthan
              dfinlay Dave Finlay
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty