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

OperationTimeout and high memory consumption when swapping in a node

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.4.4
    • Fix Version/s: 2.4.5
    • Component/s: library
    • Labels:
      None

      Description

      This seems to be related to MuxIO, since I couldn't replicate when UseConnectionPooling was false. I noticed it on master, so not sure if its a regression after 2.4.4 or before - will update ticket once i know more.

      Steps to reproduce:

      • Run a load against a 2 node cluster using UpsertAsync
      • Swap out the EP node
      • Rebalance
      • Swap in the node previously swapped out
      • Rebalance
      • You will notice that the client never recovers and begins to timeout more and more operations and memory consumption will go up (slowly)

      Possibly related: SocketAsyncState contains a MemoryStream reference which is never disposed! This is likely the cause of memory consumption.

        Attachments

          Issue Links

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

            Activity

            Hide
            jmorris Jeff Morris added a comment -

            It appears that the a final config change never happens so that every request responds with a NMV for one of the nodes in the cluster.

            Show
            jmorris Jeff Morris added a comment - It appears that the a final config change never happens so that every request responds with a NMV for one of the nodes in the cluster.
            Hide
            jmorris Jeff Morris added a comment -

            The problem is that a config revision may be skipped if a thread is in the process of updating the config and another thread detects a new revision change, but the in-progress update is already occurring. In this case the config update will be bypassed.

            Show
            jmorris Jeff Morris added a comment - The problem is that a config revision may be skipped if a thread is in the process of updating the config and another thread detects a new revision change, but the in-progress update is already occurring. In this case the config update will be bypassed.

              People

              • Assignee:
                jmorris Jeff Morris
                Reporter:
                jmorris Jeff Morris
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Gerrit Reviews

                  There are no open Gerrit changes

                    PagerDuty

                    Error rendering 'com.pagerduty.jira-server-plugin:PagerDuty'. Please contact your Jira administrators.