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

MultiplexingConnection throws ObjectDisposedException during Send

    XMLWordPrintable

    Details

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

      Description

      The following exception is seen in logs during CI testing:

      2018-09-28 01:55:52,537 [14] WARN Couchbase.IO.ConnectionBase - Handling disconnect for connection 573935a6-31ca-4991-8203-4c7e7cb17801: System.ObjectDisposedException: Cannot access a disposed object.
      Object name: 'System.Net.Sockets.Socket'.
         at System.Net.Sockets.Socket.Send(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, SocketError& errorCode)
         at System.Net.Sockets.Socket.Send(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
         at Couchbase.IO.MultiplexingConnection.Send(Byte[] request)
      

      It may be related to ConfigMonitor, as the same thread had the log entries directly above it:

      2018-09-28 01:55:52,537 [14] DEBUG Couchbase.Configuration.Server.Monitoring.ConfigMonitor - Checking configs...
      2018-09-28 01:55:52,537 [14] DEBUG Couchbase.Configuration.Server.Monitoring.ConfigMonitor - Using index 0 - server Couchbase.Core.Server
      2018-09-28 01:55:52,537 [14] DEBUG Couchbase.Core.Server - Sending Config with key  using server 172.23.120.17:11210
      

        Attachments

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

          Activity

          Hide
          jmorris Jeff Morris added a comment -
          Show
          jmorris Jeff Morris added a comment - Reverted http://review.couchbase.org/#/c/99796/
          Hide
          jmorris Jeff Morris added a comment -

          This is a side effect of allowing more than one thread to use the socket - by design in MUX - the reading thread determined that the connection had been terminated or otherwise failed and a worker thread was sending another operation concurrently. In this case the operation being sent will trigger this exception and it will be logged and prepared for retry if applicable on a new connection or a different node depending upon the situation.

          Show
          jmorris Jeff Morris added a comment - This is a side effect of allowing more than one thread to use the socket - by design in MUX - the reading thread determined that the connection had been terminated or otherwise failed and a worker thread was sending another operation concurrently. In this case the operation being sent will trigger this exception and it will be logged and prepared for retry if applicable on a new connection or a different node depending upon the situation.

            People

            • Assignee:
              jmorris Jeff Morris
              Reporter:
              mike.goldsmith Michael Goldsmith
            • 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.