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

Upsert against SPOCK server throws MissingKeyException

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: 2.4.8
    • Fix Version/s: 2.5.0
    • Component/s: None
    • Labels:
      None

      Description

      .NET 2.4.8 against SPOCK (5.0.0-3217, which is Beta2) throws MissingKeyException on Upsert operation.

      Here is the call stack

      Couchbase.NetClient.dll!Couchbase.IO.Operations.OperationBase.OperationBase(string key, Couchbase.Core.IVBucket vBucket, Couchbase.Core.Transcoders.ITypeTranscoder transcoder, uint opaque, uint timeout) Line 37 C#
      Couchbase.NetClient.dll!Couchbase.IO.Operations.OperationBase.OperationBase(string key, Couchbase.Core.IVBucket vBucket, Couchbase.Core.Transcoders.ITypeTranscoder transcoder, uint timeout) Line 53 C#
      Couchbase.NetClient.dll!Couchbase.IO.Operations.Authentication.SelectBucket.SelectBucket(string key, Couchbase.Core.Transcoders.ITypeTranscoder transcoder, uint timeout) Line 8 C#
      Couchbase.NetClient.dll!Couchbase.IO.ConnectionPoolBase<Couchbase.IO.MultiplexingConnection>.EnableEnhancedAuthentication(Couchbase.IO.IConnection connection) Line 157 C#
      > Couchbase.NetClient.dll!Couchbase.IO.SharedConnectionPool<Couchbase.IO.MultiplexingConnection>.Acquire() Line 74 C#
      Couchbase.NetClient.dll!Couchbase.IO.Services.PooledIOService.Execute<string>(Couchbase.IO.Operations.IOperation<string> operation) Line 153 C#
      Couchbase.NetClient.dll!Couchbase.Core.Server.Send<string>(Couchbase.IO.Operations.IOperation<string> operation) Line 570 C#
      Couchbase.NetClient.dll!Couchbase.Core.Buckets.CouchbaseRequestExecuter.SendWithRetry<string>(Couchbase.IO.Operations.IOperation<string> operation) Line 740 C#
      Couchbase.NetClient.dll!Couchbase.CouchbaseBucket.Upsert<string>(string key, string value) Line 2969 C#
      Sdkd.dll!Sdkd.Commands.SetCommand.ExecuteSingeSync.AnonymousMethod__0() Line 83 C#

       

       

      Also attaching the client log

        Attachments

        1. image-2017-08-21-14-03-44-777.png
          image-2017-08-21-14-03-44-777.png
          285 kB
        2. log.zip
          280 kB
        3. missingkeyexception.jpg
          missingkeyexception.jpg
          577 kB
        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 -

          I tried to reproduce, but could not. Additionally, this exception is thrown by the client before it sends the key to the server if the key is null or empty: https://github.com/couchbase/couchbase-net-client/blob/master/Src/Couchbase/IO/Operations/OperationBase.cs#L37-L40

          Show
          jmorris Jeff Morris added a comment - I tried to reproduce, but could not. Additionally, this exception is thrown by the client before it sends the key to the server if the key is null or empty:  https://github.com/couchbase/couchbase-net-client/blob/master/Src/Couchbase/IO/Operations/OperationBase.cs#L37-L40
          Hide
          ingenthr Matt Ingenthron added a comment -

          Looks like, based on the call stack, the issue can't be related to spock exclusively, correct?  

          Show
          ingenthr Matt Ingenthron added a comment - Looks like, based on the call stack, the issue can't be related to spock exclusively, correct?  
          Hide
          jaekwon.park Jae Park [X] (Inactive) added a comment -

          I agree, but apparently, it happens with only 2.4.8 + spock. I'm trying to reproduce it now

          Show
          jaekwon.park Jae Park [X] (Inactive) added a comment - I agree, but apparently, it happens with only 2.4.8 + spock. I'm trying to reproduce it now
          Hide
          jaekwon.park Jae Park [X] (Inactive) added a comment -

          looks like the first argument of SelectBucket(Configuration.BucketName, new DefaultTrancoder(), 0) is null at this point and SelectBucket's first argument was "string key". That is why MissngKeyException was thrown

          Show
          jaekwon.park Jae Park [X] (Inactive) added a comment - looks like the first argument of SelectBucket(Configuration.BucketName, new DefaultTrancoder(), 0) is null at this point and SelectBucket's first argument was "string key". That is why MissngKeyException was thrown
          Hide
          jaekwon.park Jae Park [X] (Inactive) added a comment -

          Attached missingkeyexception.jpg. This will show why it happens on SPOCK

          Show
          jaekwon.park Jae Park [X] (Inactive) added a comment - Attached missingkeyexception.jpg. This will show why it happens on SPOCK

            People

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