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

Log when a DCP consumer have been blocked for more than 5 minutes due to full buffer

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • Morpheus
    • None
    • couchbase-bucket
    • None
    • Untriaged
    • 0
    • Unknown

    Description

      MB-61155 removed the unnecessary unPause() and pause() every time step was called as part of checking for the next item to send.

      Now that we know the duration for how long we've been blocked for the consumer we can add a log entry to make it easier to spot that the producer is blocked due to the consumer not freeing up space.

      It is hard to find a value which would fit for all purposes, and we don't want to flood the logs with information in the common case. Start by setting this to 5 minutes which seems like plenty of time for the consumer to free up some bytes on its side and report that back.

      Continue to log once a minute until the client release space in the buffer log.

      This information would remove any uncertainties around MB-61040 if the stream is paused due to the consumer not freeing up space or if there is some sort of missing notifications in the readyqueue causing a long "pause".

       

      In addition to the logging we should force a disconnect of any consumer which have been (continuously) blocked for an hour to free up any allocated resources on the server.

      Attachments

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

        Activity

          People

            trond Trond Norbye
            trond Trond Norbye
            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