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

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.4.4
    • 2.4.5
    • library
    • 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

          For Gerrit Dashboard: NCBC-1394
          # Subject Branch Project Status CR V

          Activity

            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.

            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.
            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.

            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

              jmorris Jeff Morris
              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