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

MUX IO - OperationTimeout when Enhanced Durability is enabled

    XMLWordPrintable

    Details

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

      Description

      If enhanced durability is enabled and you batch a series of ops asynchronously, the IO layer (when using MUX) will timeout each operation after the first couple succeed.

       var inserts = new List<Task<IOperationResult<string>>>();
                  var deletes = new List<string>();
                  for (int i = 0; i < 10; i++)
                  {
                      deletes.Add("key" + i);
                      inserts.Add(_bucket.InsertAsync("key" + i, "{\"data\":" + i + "}", ReplicateTo.Zero, PersistTo.One));
                  }
                   _bucket.Remove(deletes);
                  var results = await Task.WhenAll(inserts).ConfigureAwait(false);
                  Assert.IsTrue(results.ToList().TrueForAll(x => x.Status == ResponseStatus.Success));
      

      Logged error message:

      2016-07-26 16:21:12,553 [4] DEBUG Couchbase.Core.Buckets.RequestExecuterBase - Operation for key key1 failed after 0 retries using vb92 from rev1110 and opaque21. Reason: The operation has timed out.
       
      ...
       
      2016-07-26 16:21:13,492 [22] DEBUG Couchbase.IO.Services.MultiplexingIOService - Endpoint: 10.141.151.101:11210 - b15582bf-14fb-4259-a25f-c13f3c1d90e1 System.TimeoutException: The operation has timed out.
         at Couchbase.IO.MultiplexingConnection.Send(Byte[] request) in C:\Users\jmorris\repos\couchbase-net-client\Src\Couchbase\IO\MultiplexingConnection.cs:line 132
         at Couchbase.IO.Services.MultiplexingIOService.Execute(IOperation operation) in C:\Users\jmorris\repos\couchbase-net-client\Src\Couchbase\IO\Services\MultiplexingIOService.cs:line 152
      

      I believe that the thread is blocking for some reason which causes all other operations to eventually timeout. Could be related to: NCBC-1159

        Attachments

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

          Activity

          There are no comments yet on this issue.

            People

            • Assignee:
              jmorris Jeff Morris
              Reporter:
              jmorris Jeff Morris
            • 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

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