Uploaded image for project: 'Couchbase Python Client Library'
  1. Couchbase Python Client Library
  2. PYCBC-1172

Provide LCB correct get_mode for KV GET operations

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 3.2.0
    • 3.2.1
    • None
    • None
    • 1

    Description

      If a get_and_lock() operation is performed, a get() operation on the same locked document should succeed. Currently, the 3.2.0 version of the Python SDK will raise an LCB_ERR_DOCUMENT_LOCKED exception.

      sample test script:

      import time
      from datetime import timedelta
      from couchbase.cluster import Cluster
      from couchbase.auth import PasswordAuthenticator
       
       
      def run_sample_code():
          try:
              auth = PasswordAuthenticator("Administrator", "password")
              cluster = Cluster("couchbase://localhost", authenticator=auth)
              bucket = cluster.bucket("default")
              collection = bucket.default_collection()
       
              print('LCB version: {}'.format(cluster.lcb_version()))
       
              key = "testKey100"
              res = collection.get_and_lock(key,timedelta(seconds=15))
              print("Found: {}".format(res.content_as[dict]))
              res1 = collection.get(key)
              print("Found: {}".format(res1.content_as[dict]))
       
          except Exception as ex:
              import traceback
              traceback.print_exc()
       
      if __name__ == '__main__':
          run_sample_code()
      

      ========== Research ==========

      The 3.1.3 version of the Python SDK did not have this problem. The change in behavior looks to be introduced when LCB allowed the get operation to be deferred.
      LCB details:
      Gerrit, Commit: 3614640edbbf1ef0f8765942934fc942e28b50f2

      Prior to this commit, the Python SDK will successfully retrieve the document even if locked.

      It should be noted that in order to work with commit 3614640 of lcb, the Python client should be moved back to commit 888e69a11937214c536a0fb18c4b83b42370deba (prior to preserve TTL changes being added).

      Attachments

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

        Activity

          jared.casey Jared Casey added a comment -

          I have tried to locally build lcb with commit 3614640, but I receive the following build error. I can build lcb locally on tagged commits and the master commit.

          HEAD is now at 3614640e CCBC-1384: allow deferring get operation
          ➜  libcouchbase git:(3614640e) rm -rf ./build
          ➜  libcouchbase git:(3614640e) mkdir build && cd build
          ➜  build git:(3614640e) ../cmake/configure
          cmake ../ \ 
              "-DCMAKE_BUILD_TYPE=RelWithDebInfo" \ 
              "-DCMAKE_INSTALL_PREFIX=/usr/local" \ 
              "-GUnix Makefiles" \ 
          -- The C compiler identification is AppleClang 12.0.5.12050022
          -- The CXX compiler identification is AppleClang 12.0.5.12050022
          -- Detecting C compiler ABI info
          -- Detecting C compiler ABI info - done
          -- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc - skipped
          -- Detecting C compile features
          -- Detecting C compile features - done
          -- Detecting CXX compiler ABI info
          -- Detecting CXX compiler ABI info - done
          -- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ - skipped
          -- Detecting CXX compile features
          -- Detecting CXX compile features - done
          -- Found libevent in /usr/local/include : /usr/local/lib/libevent_core.dylib
          -- Looking for event_new
          -- Looking for event_new - found
          -- Found libev in /usr/local/include : /usr/local/lib/libev.dylib
          -- Looking for ev_loop
          -- Looking for ev_loop - not found
          -- Looking for ev_run
          -- Looking for ev_run - found
          -- libev4 found
          -- Found UV include dir: /usr/local/include
          -- Found libuv in /usr/local/include : /usr/local/lib/libuv.dylib
          -- Sanitized VERSION=3.1.3_31_g3614640edb
          -- libcouchbase 3,1,3_31_g3614640edb
          -- Building libcouchbase 3.1.3_31_g3614640edb/3614640edbbf1ef0f8765942934fc942e28b50f2
          -- Found ZLIB: /Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/usr/lib/libz.tbd (found version "1.2.11") 
          -- Looking for pthread.h
          -- Looking for pthread.h - found
          -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
          -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
          -- Found Threads: TRUE  
          -- Looking for ceil in m
          -- Looking for ceil in m - found
          -- Looking for clock_gettime in rt
          -- Looking for clock_gettime in rt - not found
          -- Found OpenSSL Prefix: /usr/local/opt/openssl@1.1
          -- Found OpenSSL: /usr/local/opt/openssl@1.1/lib/libcrypto.dylib (found version "1.1.1k")  
          -- SSL Found: 1.1.1k (/usr/local/opt/openssl@1.1/lib/libssl.dylib;/usr/local/opt/openssl@1.1/lib/libcrypto.dylib)
          -- Performing Test HAVE_PKCS5_PBKDF2_HMAC
          -- Performing Test HAVE_PKCS5_PBKDF2_HMAC - Success
          CMake Deprecation Warning at contrib/gtest-1.8.1/CMakeLists.txt:50 (cmake_minimum_required):
            Compatibility with CMake < 2.8.12 will be removed from a future version of
            CMake.
           
            Update the VERSION argument <min> value or use a ...<max> suffix to tell
            CMake that the project does not need compatibility with older versions.
           
           
          -- Found PythonInterp: /Users/jaredcasey/.pyenv/shims/python (found version "3.8.5") 
            % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                           Dload  Upload   Total   Spent    Left  Speed
          100   628    0   628    0     0   2219      0 --:--:-- --:--:-- --:--:--  2219
          100 3849k  100 3849k    0     0  2276k      0  0:00:01  0:00:01 --:--:-- 3216k
          -- Using CouchbaseMock v1.5.25
          -- Looking for gethrtime
          -- Looking for gethrtime - not found
          -- Looking for gettimeofday
          -- Looking for gettimeofday - found
          -- Looking for clock_gettime
          -- Looking for clock_gettime - found
          -- Looking for setitimer
          -- Looking for setitimer - found
          -- Looking for htonll
          -- Looking for htonll - found
          -- Looking for res_search
          -- Looking for res_search - found
          -- Looking for include file dlfcn.h
          -- Looking for include file dlfcn.h - found
          -- Looking for include file netdb.h
          -- Looking for include file netdb.h - found
          -- Looking for include file stdint.h
          -- Looking for include file stdint.h - found
          -- Looking for include file stddef.h
          -- Looking for include file stddef.h - found
          -- Looking for include file strings.h
          -- Looking for include file strings.h - found
          -- Looking for include file sys/socket.h
          -- Looking for include file sys/socket.h - found
          -- Looking for include file sys/stat.h
          -- Looking for include file sys/stat.h - found
          -- Looking for include file sys/types.h
          -- Looking for include file sys/types.h - found
          -- Looking for include file unistd.h
          -- Looking for include file unistd.h - found
          -- Looking for include file sys/uio.h
          -- Looking for include file sys/uio.h - found
          -- Looking for include file fcntl.h
          -- Looking for include file fcntl.h - found
          -- Looking for include file sys/time.h
          -- Looking for include file sys/time.h - found
          -- Looking for include file arpa/inet.h
          -- Looking for include file arpa/inet.h - found
          -- Looking for include file inttypes.h
          -- Looking for include file inttypes.h - found
          -- Looking for include file arpa/nameser.h
          -- Looking for include file arpa/nameser.h - found
          -- Configuring done
          -- Generating done
          -- Build files have been written to: /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/build
          ➜  build git:(3614640e) make
          [  1%] Building C object plugins/io/select/CMakeFiles/couchbase_select.dir/plugin-select.c.o
          [  1%] Built target couchbase_select
          [  1%] Building CXX object CMakeFiles/lcb_jsparse.dir/src/jsparse/parser.cc.o
          [  1%] Built target lcb_jsparse
          [  1%] Building C object CMakeFiles/lcbht.dir/contrib/http_parser/http_parser.c.o
          [  1%] Built target lcbht
          [  3%] Building CXX object CMakeFiles/lcbcore-cxx.dir/src/instance.cc.o
          [  3%] Building CXX object CMakeFiles/lcbcore-cxx.dir/src/settings.cc.o
          [  3%] Building CXX object CMakeFiles/lcbcore-cxx.dir/src/cbas/cbas.cc.o
          [  5%] Building CXX object CMakeFiles/lcbcore-cxx.dir/src/auth.cc.o
          [  5%] Building CXX object CMakeFiles/lcbcore-cxx.dir/src/bootstrap.cc.o
          [  7%] Building CXX object CMakeFiles/lcbcore-cxx.dir/src/bucketconfig/bc_cccp.cc.o
          [  7%] Building CXX object CMakeFiles/lcbcore-cxx.dir/src/bucketconfig/bc_http.cc.o
          [  7%] Building CXX object CMakeFiles/lcbcore-cxx.dir/src/bucketconfig/bc_file.cc.o
          [  8%] Building CXX object CMakeFiles/lcbcore-cxx.dir/src/bucketconfig/bc_static.cc.o
          [  8%] Building CXX object CMakeFiles/lcbcore-cxx.dir/src/bucketconfig/confmon.cc.o
          [ 10%] Building CXX object CMakeFiles/lcbcore-cxx.dir/src/utilities.cc.o
          [ 10%] Building CXX object CMakeFiles/lcbcore-cxx.dir/src/collections.cc.o
          [ 10%] Building CXX object CMakeFiles/lcbcore-cxx.dir/src/defer.cc.o
          [ 12%] Building CXX object CMakeFiles/lcbcore-cxx.dir/src/connspec.cc.o
          [ 12%] Building CXX object CMakeFiles/lcbcore-cxx.dir/src/crypto.cc.o
          [ 14%] Building CXX object CMakeFiles/lcbcore-cxx.dir/src/dns-srv.cc.o
          [ 14%] Building CXX object CMakeFiles/lcbcore-cxx.dir/src/dump.cc.o
          [ 14%] Building CXX object CMakeFiles/lcbcore-cxx.dir/src/errmap.cc.o
          [ 15%] Building CXX object CMakeFiles/lcbcore-cxx.dir/src/getconfig.cc.o
          [ 15%] Building CXX object CMakeFiles/lcbcore-cxx.dir/src/nodeinfo.cc.o
          [ 17%] Building CXX object CMakeFiles/lcbcore-cxx.dir/src/handler.cc.o
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/handler.cc:423:5: error: cannot cast from type 'std::string' (aka 'basic_string<char>') to pointer type 'const char *'
              TRACE_GET_END(o, request, response, &resp);
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/trace.h:61:11: note: expanded from macro 'TRACE_GET_END'
              TRACE(TRACE_END_COMMON(LIBCOUCHBASE_GET_END, instance, pkt, mcresp, resp, (const char *)(resp)->value,             \
              ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/trace.h:52:9: note: expanded from macro 'TRACE_END_COMMON'
                  (const char *)(resp)->ctx.key, (resp)->ctx.key_len, ##__VA_ARGS__)
                  ^
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/build/generated/probes.h:76:251: note: expanded from macro 'LIBCOUCHBASE_GET_END'
                  __dtrace_probe$libcouchbase$get_end$v1$766f6964202a$75696e7433325f74$75696e74385f74$75696e7436345f74$75696e7431365f74$63686172202a$73697a655f74$63686172202a$73697a655f74$75696e7433325f74$75696e7436345f74$75696e74385f74(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11); \
                                                                                                                                                                                                                                                                           ^
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/trace.h:34:22: note: expanded from macro 'TRACE'
          #define TRACE(probe) probe
                               ^~~~~
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/handler.cc:423:5: error: no member named 'key_len' in 'lcb_KEY_VALUE_ERROR_CONTEXT_'
              TRACE_GET_END(o, request, response, &resp);
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/trace.h:61:11: note: expanded from macro 'TRACE_GET_END'
              TRACE(TRACE_END_COMMON(LIBCOUCHBASE_GET_END, instance, pkt, mcresp, resp, (const char *)(resp)->value,             \
              ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/trace.h:52:52: note: expanded from macro 'TRACE_END_COMMON'
                  (const char *)(resp)->ctx.key, (resp)->ctx.key_len, ##__VA_ARGS__)
                                                             ^
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/build/generated/probes.h:76:257: note: expanded from macro 'LIBCOUCHBASE_GET_END'
                  __dtrace_probe$libcouchbase$get_end$v1$766f6964202a$75696e7433325f74$75696e74385f74$75696e7436345f74$75696e7431365f74$63686172202a$73697a655f74$63686172202a$73697a655f74$75696e7433325f74$75696e7436345f74$75696e74385f74(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11); \
                                                                                                                                                                                                                                                                                 ^
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/trace.h:34:22: note: expanded from macro 'TRACE'
          #define TRACE(probe) probe
                               ^~~~~
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/handler.cc:452:5: error: cannot cast from type 'std::string' (aka 'basic_string<char>') to pointer type 'const char *'
              TRACE_EXISTS_END(root, request, response, &resp);
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/trace.h:70:11: note: expanded from macro 'TRACE_EXISTS_END'
              TRACE(TRACE_END_COMMON(LIBCOUCHBASE_EXISTS_END, instance, pkt, mcresp, resp, (resp)->ctx.cas))
              ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/trace.h:52:9: note: expanded from macro 'TRACE_END_COMMON'
                  (const char *)(resp)->ctx.key, (resp)->ctx.key_len, ##__VA_ARGS__)
                  ^
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/build/generated/probes.h:56:196: note: expanded from macro 'LIBCOUCHBASE_EXISTS_END'
                  __dtrace_probe$libcouchbase$exists_end$v1$766f6964202a$75696e7433325f74$75696e74385f74$75696e7436345f74$75696e7431365f74$63686172202a$73697a655f74$75696e7436345f74(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); \
                                                                                                                                                                                                                    ^
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/trace.h:34:22: note: expanded from macro 'TRACE'
          #define TRACE(probe) probe
                               ^~~~~
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/handler.cc:452:5: error: no member named 'key_len' in 'lcb_KEY_VALUE_ERROR_CONTEXT_'
              TRACE_EXISTS_END(root, request, response, &resp);
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/trace.h:70:11: note: expanded from macro 'TRACE_EXISTS_END'
              TRACE(TRACE_END_COMMON(LIBCOUCHBASE_EXISTS_END, instance, pkt, mcresp, resp, (resp)->ctx.cas))
              ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/trace.h:52:52: note: expanded from macro 'TRACE_END_COMMON'
                  (const char *)(resp)->ctx.key, (resp)->ctx.key_len, ##__VA_ARGS__)
                                                             ^
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/build/generated/probes.h:56:202: note: expanded from macro 'LIBCOUCHBASE_EXISTS_END'
                  __dtrace_probe$libcouchbase$exists_end$v1$766f6964202a$75696e7433325f74$75696e74385f74$75696e7436345f74$75696e7431365f74$63686172202a$73697a655f74$75696e7436345f74(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); \
                                                                                                                                                                                                                          ^
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/trace.h:34:22: note: expanded from macro 'TRACE'
          #define TRACE(probe) probe
                               ^~~~~
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/handler.cc:677:47: error: use of undeclared identifier 'w'
              TRACE_REMOVE_END(root, packet, response, &w.resp);
                                                        ^
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/handler.cc:677:47: error: use of undeclared identifier 'w'
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/handler.cc:677:47: error: use of undeclared identifier 'w'
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/handler.cc:677:47: error: use of undeclared identifier 'w'
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/handler.cc:745:9: error: cannot cast from type 'std::string' (aka 'basic_string<char>') to pointer type 'const char *'
                  TRACE_OBSERVE_PROGRESS(root, request, response, &resp);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/trace.h:101:11: note: expanded from macro 'TRACE_OBSERVE_PROGRESS'
              TRACE(TRACE_END_COMMON(LIBCOUCHBASE_OBSERVE_PROGRESS, instance, pkt, mcresp, resp, (resp)->ctx.cas,                \
              ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/trace.h:52:9: note: expanded from macro 'TRACE_END_COMMON'
                  (const char *)(resp)->ctx.key, (resp)->ctx.key_len, ##__VA_ARGS__)
                  ^
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/build/generated/probes.h:136:266: note: expanded from macro 'LIBCOUCHBASE_OBSERVE_PROGRESS'
                  __dtrace_probe$libcouchbase$observe_progress$v1$766f6964202a$75696e7433325f74$75696e74385f74$75696e7436345f74$75696e7431365f74$63686172202a$73697a655f74$75696e7436345f74$75696e74385f74$75696e74385f74$75696e7433325f74$75696e7433325f74(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11); \
                                                                                                                                                                                                                                                                                          ^
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/trace.h:34:22: note: expanded from macro 'TRACE'
          #define TRACE(probe) probe
                               ^~~~~
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/handler.cc:745:9: error: no member named 'key_len' in 'lcb_KEY_VALUE_ERROR_CONTEXT_'
                  TRACE_OBSERVE_PROGRESS(root, request, response, &resp);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/trace.h:101:11: note: expanded from macro 'TRACE_OBSERVE_PROGRESS'
              TRACE(TRACE_END_COMMON(LIBCOUCHBASE_OBSERVE_PROGRESS, instance, pkt, mcresp, resp, (resp)->ctx.cas,                \
              ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/trace.h:52:52: note: expanded from macro 'TRACE_END_COMMON'
                  (const char *)(resp)->ctx.key, (resp)->ctx.key_len, ##__VA_ARGS__)
                                                             ^
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/build/generated/probes.h:136:272: note: expanded from macro 'LIBCOUCHBASE_OBSERVE_PROGRESS'
                  __dtrace_probe$libcouchbase$observe_progress$v1$766f6964202a$75696e7433325f74$75696e74385f74$75696e7436345f74$75696e7431365f74$63686172202a$73697a655f74$75696e7436345f74$75696e74385f74$75696e74385f74$75696e7433325f74$75696e7433325f74(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11); \
                                                                                                                                                                                                                                                                                                ^
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/trace.h:34:22: note: expanded from macro 'TRACE'
          #define TRACE(probe) probe
                               ^~~~~
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/handler.cc:815:47: error: use of undeclared identifier 'w'
              TRACE_STORE_END(root, request, response, &w.resp);
                                                        ^
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/handler.cc:815:47: error: use of undeclared identifier 'w'
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/handler.cc:815:47: error: use of undeclared identifier 'w'
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/handler.cc:815:47: error: use of undeclared identifier 'w'
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/handler.cc:842:52: error: use of undeclared identifier 'w'
              TRACE_ARITHMETIC_END(root, request, response, &w.resp);
                                                             ^
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/handler.cc:842:52: error: use of undeclared identifier 'w'
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/handler.cc:842:52: error: use of undeclared identifier 'w'
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/handler.cc:842:52: error: use of undeclared identifier 'w'
          /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/handler.cc:842:52: error: use of undeclared identifier 'w'
          fatal error: too many errors emitted, stopping now [-ferror-limit=]
          20 errors generated.
          make[2]: *** [CMakeFiles/lcbcore-cxx.dir/src/handler.cc.o] Error 1
          make[1]: *** [CMakeFiles/lcbcore-cxx.dir/all] Error 2
          make: *** [all] Error 2
          

          jared.casey Jared Casey added a comment - I have tried to locally build lcb with commit 3614640, but I receive the following build error. I can build lcb locally on tagged commits and the master commit. HEAD is now at 3614640e CCBC-1384: allow deferring get operation ➜ libcouchbase git:(3614640e) rm -rf ./build ➜ libcouchbase git:(3614640e) mkdir build && cd build ➜ build git:(3614640e) ../cmake/configure cmake ../ \ "-DCMAKE_BUILD_TYPE=RelWithDebInfo" \ "-DCMAKE_INSTALL_PREFIX=/usr/local" \ "-GUnix Makefiles" \ -- The C compiler identification is AppleClang 12.0.5.12050022 -- The CXX compiler identification is AppleClang 12.0.5.12050022 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found libevent in /usr/local/include : /usr/local/lib/libevent_core.dylib -- Looking for event_new -- Looking for event_new - found -- Found libev in /usr/local/include : /usr/local/lib/libev.dylib -- Looking for ev_loop -- Looking for ev_loop - not found -- Looking for ev_run -- Looking for ev_run - found -- libev4 found -- Found UV include dir: /usr/local/include -- Found libuv in /usr/local/include : /usr/local/lib/libuv.dylib -- Sanitized VERSION=3.1.3_31_g3614640edb -- libcouchbase 3,1,3_31_g3614640edb -- Building libcouchbase 3.1.3_31_g3614640edb/3614640edbbf1ef0f8765942934fc942e28b50f2 -- Found ZLIB: /Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/usr/lib/libz.tbd (found version "1.2.11") -- Looking for pthread.h -- Looking for pthread.h - found -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success -- Found Threads: TRUE -- Looking for ceil in m -- Looking for ceil in m - found -- Looking for clock_gettime in rt -- Looking for clock_gettime in rt - not found -- Found OpenSSL Prefix: /usr/local/opt/openssl@1.1 -- Found OpenSSL: /usr/local/opt/openssl@1.1/lib/libcrypto.dylib (found version "1.1.1k") -- SSL Found: 1.1.1k (/usr/local/opt/openssl@1.1/lib/libssl.dylib;/usr/local/opt/openssl@1.1/lib/libcrypto.dylib) -- Performing Test HAVE_PKCS5_PBKDF2_HMAC -- Performing Test HAVE_PKCS5_PBKDF2_HMAC - Success CMake Deprecation Warning at contrib/gtest-1.8.1/CMakeLists.txt:50 (cmake_minimum_required): Compatibility with CMake < 2.8.12 will be removed from a future version of CMake.   Update the VERSION argument <min> value or use a ...<max> suffix to tell CMake that the project does not need compatibility with older versions.     -- Found PythonInterp: /Users/jaredcasey/.pyenv/shims/python (found version "3.8.5") % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 628 0 628 0 0 2219 0 --:--:-- --:--:-- --:--:-- 2219 100 3849k 100 3849k 0 0 2276k 0 0:00:01 0:00:01 --:--:-- 3216k -- Using CouchbaseMock v1.5.25 -- Looking for gethrtime -- Looking for gethrtime - not found -- Looking for gettimeofday -- Looking for gettimeofday - found -- Looking for clock_gettime -- Looking for clock_gettime - found -- Looking for setitimer -- Looking for setitimer - found -- Looking for htonll -- Looking for htonll - found -- Looking for res_search -- Looking for res_search - found -- Looking for include file dlfcn.h -- Looking for include file dlfcn.h - found -- Looking for include file netdb.h -- Looking for include file netdb.h - found -- Looking for include file stdint.h -- Looking for include file stdint.h - found -- Looking for include file stddef.h -- Looking for include file stddef.h - found -- Looking for include file strings.h -- Looking for include file strings.h - found -- Looking for include file sys/socket.h -- Looking for include file sys/socket.h - found -- Looking for include file sys/stat.h -- Looking for include file sys/stat.h - found -- Looking for include file sys/types.h -- Looking for include file sys/types.h - found -- Looking for include file unistd.h -- Looking for include file unistd.h - found -- Looking for include file sys/uio.h -- Looking for include file sys/uio.h - found -- Looking for include file fcntl.h -- Looking for include file fcntl.h - found -- Looking for include file sys/time.h -- Looking for include file sys/time.h - found -- Looking for include file arpa/inet.h -- Looking for include file arpa/inet.h - found -- Looking for include file inttypes.h -- Looking for include file inttypes.h - found -- Looking for include file arpa/nameser.h -- Looking for include file arpa/nameser.h - found -- Configuring done -- Generating done -- Build files have been written to: /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/build ➜ build git:(3614640e) make [ 1%] Building C object plugins/io/select/CMakeFiles/couchbase_select.dir/plugin-select.c.o [ 1%] Built target couchbase_select [ 1%] Building CXX object CMakeFiles/lcb_jsparse.dir/src/jsparse/parser.cc.o [ 1%] Built target lcb_jsparse [ 1%] Building C object CMakeFiles/lcbht.dir/contrib/http_parser/http_parser.c.o [ 1%] Built target lcbht [ 3%] Building CXX object CMakeFiles/lcbcore-cxx.dir/src/instance.cc.o [ 3%] Building CXX object CMakeFiles/lcbcore-cxx.dir/src/settings.cc.o [ 3%] Building CXX object CMakeFiles/lcbcore-cxx.dir/src/cbas/cbas.cc.o [ 5%] Building CXX object CMakeFiles/lcbcore-cxx.dir/src/auth.cc.o [ 5%] Building CXX object CMakeFiles/lcbcore-cxx.dir/src/bootstrap.cc.o [ 7%] Building CXX object CMakeFiles/lcbcore-cxx.dir/src/bucketconfig/bc_cccp.cc.o [ 7%] Building CXX object CMakeFiles/lcbcore-cxx.dir/src/bucketconfig/bc_http.cc.o [ 7%] Building CXX object CMakeFiles/lcbcore-cxx.dir/src/bucketconfig/bc_file.cc.o [ 8%] Building CXX object CMakeFiles/lcbcore-cxx.dir/src/bucketconfig/bc_static.cc.o [ 8%] Building CXX object CMakeFiles/lcbcore-cxx.dir/src/bucketconfig/confmon.cc.o [ 10%] Building CXX object CMakeFiles/lcbcore-cxx.dir/src/utilities.cc.o [ 10%] Building CXX object CMakeFiles/lcbcore-cxx.dir/src/collections.cc.o [ 10%] Building CXX object CMakeFiles/lcbcore-cxx.dir/src/defer.cc.o [ 12%] Building CXX object CMakeFiles/lcbcore-cxx.dir/src/connspec.cc.o [ 12%] Building CXX object CMakeFiles/lcbcore-cxx.dir/src/crypto.cc.o [ 14%] Building CXX object CMakeFiles/lcbcore-cxx.dir/src/dns-srv.cc.o [ 14%] Building CXX object CMakeFiles/lcbcore-cxx.dir/src/dump.cc.o [ 14%] Building CXX object CMakeFiles/lcbcore-cxx.dir/src/errmap.cc.o [ 15%] Building CXX object CMakeFiles/lcbcore-cxx.dir/src/getconfig.cc.o [ 15%] Building CXX object CMakeFiles/lcbcore-cxx.dir/src/nodeinfo.cc.o [ 17%] Building CXX object CMakeFiles/lcbcore-cxx.dir/src/handler.cc.o /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/handler.cc:423:5: error: cannot cast from type 'std::string' (aka 'basic_string<char>') to pointer type 'const char *' TRACE_GET_END(o, request, response, &resp); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/trace.h:61:11: note: expanded from macro 'TRACE_GET_END' TRACE(TRACE_END_COMMON(LIBCOUCHBASE_GET_END, instance, pkt, mcresp, resp, (const char *)(resp)->value, \ ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/trace.h:52:9: note: expanded from macro 'TRACE_END_COMMON' (const char *)(resp)->ctx.key, (resp)->ctx.key_len, ##__VA_ARGS__) ^ /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/build/generated/probes.h:76:251: note: expanded from macro 'LIBCOUCHBASE_GET_END' __dtrace_probe$libcouchbase$get_end$v1$766f6964202a$75696e7433325f74$75696e74385f74$75696e7436345f74$75696e7431365f74$63686172202a$73697a655f74$63686172202a$73697a655f74$75696e7433325f74$75696e7436345f74$75696e74385f74(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11); \ ^ /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/trace.h:34:22: note: expanded from macro 'TRACE' #define TRACE(probe) probe ^~~~~ /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/handler.cc:423:5: error: no member named 'key_len' in 'lcb_KEY_VALUE_ERROR_CONTEXT_' TRACE_GET_END(o, request, response, &resp); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/trace.h:61:11: note: expanded from macro 'TRACE_GET_END' TRACE(TRACE_END_COMMON(LIBCOUCHBASE_GET_END, instance, pkt, mcresp, resp, (const char *)(resp)->value, \ ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/trace.h:52:52: note: expanded from macro 'TRACE_END_COMMON' (const char *)(resp)->ctx.key, (resp)->ctx.key_len, ##__VA_ARGS__) ^ /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/build/generated/probes.h:76:257: note: expanded from macro 'LIBCOUCHBASE_GET_END' __dtrace_probe$libcouchbase$get_end$v1$766f6964202a$75696e7433325f74$75696e74385f74$75696e7436345f74$75696e7431365f74$63686172202a$73697a655f74$63686172202a$73697a655f74$75696e7433325f74$75696e7436345f74$75696e74385f74(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11); \ ^ /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/trace.h:34:22: note: expanded from macro 'TRACE' #define TRACE(probe) probe ^~~~~ /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/handler.cc:452:5: error: cannot cast from type 'std::string' (aka 'basic_string<char>') to pointer type 'const char *' TRACE_EXISTS_END(root, request, response, &resp); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/trace.h:70:11: note: expanded from macro 'TRACE_EXISTS_END' TRACE(TRACE_END_COMMON(LIBCOUCHBASE_EXISTS_END, instance, pkt, mcresp, resp, (resp)->ctx.cas)) ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/trace.h:52:9: note: expanded from macro 'TRACE_END_COMMON' (const char *)(resp)->ctx.key, (resp)->ctx.key_len, ##__VA_ARGS__) ^ /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/build/generated/probes.h:56:196: note: expanded from macro 'LIBCOUCHBASE_EXISTS_END' __dtrace_probe$libcouchbase$exists_end$v1$766f6964202a$75696e7433325f74$75696e74385f74$75696e7436345f74$75696e7431365f74$63686172202a$73697a655f74$75696e7436345f74(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); \ ^ /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/trace.h:34:22: note: expanded from macro 'TRACE' #define TRACE(probe) probe ^~~~~ /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/handler.cc:452:5: error: no member named 'key_len' in 'lcb_KEY_VALUE_ERROR_CONTEXT_' TRACE_EXISTS_END(root, request, response, &resp); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/trace.h:70:11: note: expanded from macro 'TRACE_EXISTS_END' TRACE(TRACE_END_COMMON(LIBCOUCHBASE_EXISTS_END, instance, pkt, mcresp, resp, (resp)->ctx.cas)) ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/trace.h:52:52: note: expanded from macro 'TRACE_END_COMMON' (const char *)(resp)->ctx.key, (resp)->ctx.key_len, ##__VA_ARGS__) ^ /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/build/generated/probes.h:56:202: note: expanded from macro 'LIBCOUCHBASE_EXISTS_END' __dtrace_probe$libcouchbase$exists_end$v1$766f6964202a$75696e7433325f74$75696e74385f74$75696e7436345f74$75696e7431365f74$63686172202a$73697a655f74$75696e7436345f74(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); \ ^ /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/trace.h:34:22: note: expanded from macro 'TRACE' #define TRACE(probe) probe ^~~~~ /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/handler.cc:677:47: error: use of undeclared identifier 'w' TRACE_REMOVE_END(root, packet, response, &w.resp); ^ /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/handler.cc:677:47: error: use of undeclared identifier 'w' /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/handler.cc:677:47: error: use of undeclared identifier 'w' /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/handler.cc:677:47: error: use of undeclared identifier 'w' /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/handler.cc:745:9: error: cannot cast from type 'std::string' (aka 'basic_string<char>') to pointer type 'const char *' TRACE_OBSERVE_PROGRESS(root, request, response, &resp); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/trace.h:101:11: note: expanded from macro 'TRACE_OBSERVE_PROGRESS' TRACE(TRACE_END_COMMON(LIBCOUCHBASE_OBSERVE_PROGRESS, instance, pkt, mcresp, resp, (resp)->ctx.cas, \ ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/trace.h:52:9: note: expanded from macro 'TRACE_END_COMMON' (const char *)(resp)->ctx.key, (resp)->ctx.key_len, ##__VA_ARGS__) ^ /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/build/generated/probes.h:136:266: note: expanded from macro 'LIBCOUCHBASE_OBSERVE_PROGRESS' __dtrace_probe$libcouchbase$observe_progress$v1$766f6964202a$75696e7433325f74$75696e74385f74$75696e7436345f74$75696e7431365f74$63686172202a$73697a655f74$75696e7436345f74$75696e74385f74$75696e74385f74$75696e7433325f74$75696e7433325f74(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11); \ ^ /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/trace.h:34:22: note: expanded from macro 'TRACE' #define TRACE(probe) probe ^~~~~ /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/handler.cc:745:9: error: no member named 'key_len' in 'lcb_KEY_VALUE_ERROR_CONTEXT_' TRACE_OBSERVE_PROGRESS(root, request, response, &resp); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/trace.h:101:11: note: expanded from macro 'TRACE_OBSERVE_PROGRESS' TRACE(TRACE_END_COMMON(LIBCOUCHBASE_OBSERVE_PROGRESS, instance, pkt, mcresp, resp, (resp)->ctx.cas, \ ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/trace.h:52:52: note: expanded from macro 'TRACE_END_COMMON' (const char *)(resp)->ctx.key, (resp)->ctx.key_len, ##__VA_ARGS__) ^ /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/build/generated/probes.h:136:272: note: expanded from macro 'LIBCOUCHBASE_OBSERVE_PROGRESS' __dtrace_probe$libcouchbase$observe_progress$v1$766f6964202a$75696e7433325f74$75696e74385f74$75696e7436345f74$75696e7431365f74$63686172202a$73697a655f74$75696e7436345f74$75696e74385f74$75696e74385f74$75696e7433325f74$75696e7433325f74(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11); \ ^ /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/trace.h:34:22: note: expanded from macro 'TRACE' #define TRACE(probe) probe ^~~~~ /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/handler.cc:815:47: error: use of undeclared identifier 'w' TRACE_STORE_END(root, request, response, &w.resp); ^ /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/handler.cc:815:47: error: use of undeclared identifier 'w' /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/handler.cc:815:47: error: use of undeclared identifier 'w' /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/handler.cc:815:47: error: use of undeclared identifier 'w' /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/handler.cc:842:52: error: use of undeclared identifier 'w' TRACE_ARITHMETIC_END(root, request, response, &w.resp); ^ /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/handler.cc:842:52: error: use of undeclared identifier 'w' /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/handler.cc:842:52: error: use of undeclared identifier 'w' /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/handler.cc:842:52: error: use of undeclared identifier 'w' /Users/jaredcasey/GIT/couchbase/clients/lcb/gerrit/libcouchbase/src/handler.cc:842:52: error: use of undeclared identifier 'w' fatal error: too many errors emitted, stopping now [-ferror-limit=] 20 errors generated. make[2]: *** [CMakeFiles/lcbcore-cxx.dir/src/handler.cc.o] Error 1 make[1]: *** [CMakeFiles/lcbcore-cxx.dir/all] Error 2 make: *** [all] Error 2
          jared.casey Jared Casey added a comment -

          The change in LCB commit (3614640e) added the following enum as a mode parameter to the lcb_CMDGET struct.

          enum class get_mode {
              normal,
              with_touch,
              with_lock,
          };
          

          Due to the added change, the Python client was actually sending a GetAndTouch command for any basic Get operation. A change has been implemented so that the get_mode will change to "with_lock" only if collection.get_and_lock() is called and "with_touch" only if collection.get_and_touch() is called.

          jared.casey Jared Casey added a comment - The change in LCB commit (3614640e) added the following enum as a mode parameter to the lcb_CMDGET struct. enum class get_mode { normal, with_touch, with_lock, }; Due to the added change, the Python client was actually sending a GetAndTouch command for any basic Get operation. A change has been implemented so that the get_mode will change to "with_lock" only if collection.get_and_lock() is called and "with_touch" only if collection.get_and_touch() is called.

          People

            jared.casey Jared Casey
            jared.casey Jared Casey
            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