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

Couchbase client returning wrong documents

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 2.1.0
    • Fix Version/s: 2.1.2
    • Component/s: library
    • Labels:
    • Environment:
      Server: Two Couchbase 3.0.3-1716 Enterprise Edition instances each running on a Windows 2012 Server.
      Client: Several ASP.Net applications (.Net 4.5) using couchbase .Net client 2.1

      Description

      Occassionally couchbase Get requests called via the .Net client return a completely different document to the one requested. This applies both to requests for single documents and multiple documents.

      This behaviour has been validated by logging the key that was requested and comparing it to the response from the Couchbase client.

      When this error occurs, it often affects several requests at the same time. It appears that simultaneous requests sometimes get mixed up, so that the document returned for one request was actually requested in another request that was made around the same time.

      Another (possibly related) error which occurs is IndexOutOfRange exception which occasionally is thrown by the Couchbase client when requesting a key. Subsequent requests for exactly the same key usually work as expected.

      These errors occur in a production environment with several web clients which use couchbase for logging events, sessions etc. They occur relatively seldom (several times per day) compared to the total number of requests (many thousand).

      Examples:
      Requested key 1: "systemAccount_widgets"
      Response received at 2015-05-12 11:08:51,069
      Document returned: "user_821eb769-f75e-4a29-aae2-95be1c005a74"

      Requested key 2: "systemAccount_mytv"
      Response received at 2015-05-12 11:08:53,128 - two seconds later
      Document returned: "systemAccount_widgets" (i.e. document requested in earlier request!)

        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 -
            Show
            jmorris Jeff Morris added a comment - Steps for enabling client logging are here: http://docs.couchbase.com/developer/dotnet-2.1/setting-up-logging.html
            Hide
            jmorris Jeff Morris added a comment -

            @Reng van Oord

            Would it be possible for you to use WireShark and do a packet capture and accompanying client logs when it's running? I can trace what the server is receiving and responding with.

            -Jeff

            Show
            jmorris Jeff Morris added a comment - @Reng van Oord Would it be possible for you to use WireShark and do a packet capture and accompanying client logs when it's running? I can trace what the server is receiving and responding with. -Jeff
            Hide
            rvanoord Reng van Oord added a comment -

            @Jeff Morris

            I have a WireShark log now. What would be the best way to send it to you?

            Show
            rvanoord Reng van Oord added a comment - @Jeff Morris I have a WireShark log now. What would be the best way to send it to you?
            Hide
            jmorris Jeff Morris added a comment -

            You can add it as an attachment and set it viewable to Membase Dev Team.

            -Jeff

            Show
            jmorris Jeff Morris added a comment - You can add it as an attachment and set it viewable to Membase Dev Team. -Jeff
            Hide
            jmorris Jeff Morris added a comment -

            I only need a capture which allows me to associate a key and opaque value from your logs to the memcached packets (on port 11210 only). If you need privacy, send to my email jeffry.morris@couchbase.com. Yes, it will be deleted!

            -Jeff

            Show
            jmorris Jeff Morris added a comment - I only need a capture which allows me to associate a key and opaque value from your logs to the memcached packets (on port 11210 only). If you need privacy, send to my email jeffry.morris@couchbase.com. Yes, it will be deleted! -Jeff

              People

              • Assignee:
                jmorris Jeff Morris
                Reporter:
                rvanoord Reng van Oord
              • Votes:
                0 Vote for this issue
                Watchers:
                3 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.