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

subdoc request does not timeout at default 2500ms

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Won't Fix
    • Affects Version/s: None
    • Fix Version/s: 2.4.5
    • Component/s: None
    • Labels:
      None

      Description

      I used Task to check if the subdoc operation time out works and found it hits wrapper's timeout instead of the SDK's timeout as attached.

      To explain the attached screen shot, builder.Execute() is supposed to be timed out in 2500 ms. and the builder.Execute() is wrapped with Task to timeout the task in 3 seconds (3000 ms). Ideally, if builder.Execute() timesout in 2500 ms, the Task timeout of 3 seconds should never happen but it actually hits the 3 seconds time out.

        Attachments

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

          Activity

          Hide
          jaekwon.park Jae Park [X] (Inactive) added a comment -

          This is be design

          Show
          jaekwon.park Jae Park [X] (Inactive) added a comment - This is be design
          Hide
          jaekwon.park Jae Park [X] (Inactive) added a comment -

          Ok, I'm closing this.

          Looks like by design total time out is 15 sec + 2.5 sec.

           

          Show
          jaekwon.park Jae Park [X] (Inactive) added a comment - Ok, I'm closing this. Looks like by design total time out is 15 sec + 2.5 sec.  
          Hide
          mike.goldsmith Michael Goldsmith added a comment -

          Jae Park [X] - It looks like you are executing a synchronous subdoc lookup operation and expecting it to fast-fail once the operation timeout has been reached, is that correct?

          If yes, I'm not sure this test can work as you expect right now. The reason for this is the SDK sends the operation to the cluster, using the default connection pool timeout of 15 seconds. Once a response is received, or a timeout occurs, the subdoc operations is checked to see if a timeout occurred (2.5 seconds). Below are the default timeouts for an operation and connection pool send timeout.

          Default operation timeout: 2500ms
          Default connection pool send timeout: 15000ms

          Jeff Morris - Do you think this constitutes a bug? KV operations do not fast-fast operation timeout but instead use the connection pool send timeout (which by default is much larger) and check for operation afterwards.

          Show
          mike.goldsmith Michael Goldsmith added a comment - Jae Park [X] - It looks like you are executing a synchronous subdoc lookup operation and expecting it to fast-fail once the operation timeout has been reached, is that correct? If yes, I'm not sure this test can work as you expect right now. The reason for this is the SDK sends the operation to the cluster, using the default connection pool timeout of 15 seconds. Once a response is received, or a timeout occurs, the subdoc operations is checked to see if a timeout occurred (2.5 seconds). Below are the default timeouts for an operation and connection pool send timeout. Default operation timeout: 2500ms Default connection pool send timeout: 15000ms Jeff Morris - Do you think this constitutes a bug? KV operations do not fast-fast operation timeout but instead use the connection pool send timeout (which by default is much larger) and check for operation afterwards.

            People

            • Assignee:
              jaekwon.park Jae Park [X] (Inactive)
              Reporter:
              jaekwon.park Jae Park [X] (Inactive)
            • 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.