Uploaded image for project: 'C++ Couchbase Client'
  1. C++ Couchbase Client
  2. CXXCBC-130

std::runtime_error cannot map key: partition map is not available during upsert

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Critical
    • 1.0.0-beta
    • 1.0.0-beta
    • None
    • 1

    Description

      http://sdk.jenkins.couchbase.com/job/c-cpp/job/cxx/job/centos-cxx-sdk-server-situational-tests/42/console

      From the log it looks like the config from the cluster_map_change_notification (which had no bucket) was used to execute the upsert

      I think this logic https://github.com/couchbaselabs/couchbase-cxx-client/blob/dd91c5bfe49953184db050db03fa181df257a281/couchbase/io/mcbp_session.hxx#L378 doesn't account for the config being sent before our select bucket has been processed by the server
       

      11:33:48 Thread 1 (Thread 0x7f14f3fff700 (LWP 27786)):
      11:33:48 #0  0x00007f14fc53c37f in raise () from /lib64/libc.so.6
      11:33:48 #1  0x00007f14fc526db5 in abort () from /lib64/libc.so.6
      11:33:48 #2  0x00007f14fcef409b in __gnu_cxx::__verbose_terminate_handler() [clone .cold.1] () from /lib64/libstdc++.so.6
      11:33:48 #3  0x00007f14fcefa53c in __cxxabiv1::__terminate(void (*)()) () from /lib64/libstdc++.so.6
      11:33:48 #4  0x00007f14fcefa597 in std::terminate() () from /lib64/libstdc++.so.6
      11:33:48 #5  0x00007f14fcefa7f8 in __cxa_throw () from /lib64/libstdc++.so.6
      11:33:48 #6  0x0000000000ed4cb2 in couchbase::topology::configuration::map_key (this=0x7f14ec00a6e8, key="0") at /home/couchbase/jenkins/workspace/c-cpp/cxx/centos-cxx-sdk-server-situational-tests/couchbase-cxx-client/couchbase/topology/configuration.cxx:202
      11:33:49 #7  0x0000000000dc4e51 in couchbase::bucket::map_and_send<couchbase::operations::upsert_request> (this=0x7f14ec00a450, cmd=std::shared_ptr<couchbase::operations::mcbp_command<couchbase::bucket, couchbase::operations::upsert_request>> (use count 4, weak count 1) = {...}) at /home/couchbase/jenkins/workspace/c-cpp/cxx/centos-cxx-sdk-server-situational-tests/couchbase-cxx-client/couchbase/bucket.hxx:375
      11:33:49 #8  0x0000000000dbb398 in couchbase::bucket::execute<couchbase::operations::upsert_request, CBSdkd::Handle::execute_async_ec<couchbase::operations::upsert_request>(couchbase::operations::upsert_request)::{lambda(couchbase::operations::upsert_response)#1}>(couchbase::operations::upsert_request, CBSdkd::Handle::execute_async_ec<couchbase::operations::upsert_request>(couchbase::operations::upsert_request)::{lambda(couchbase::operations::upsert_response)#1}&&) (this=0x7f14ec00a450, request=..., handler=...) at /home/couchbase/jenkins/workspace/c-cpp/cxx/centos-cxx-sdk-server-situational-tests/couchbase-cxx-client/couchbase/bucket.hxx:338
      11:33:49 #9  0x0000000000db34e6 in couchbase::cluster::execute<couchbase::operations::upsert_request, CBSdkd::Handle::execute_async_ec<couchbase::operations::upsert_request>(couchbase::operations::upsert_request)::{lambda(couchbase::operations::upsert_response)#1}, 0>(couchbase::operations::upsert_request, CBSdkd::Handle::execute_async_ec<couchbase::operations::upsert_request>(couchbase::operations::upsert_request)::{lambda(couchbase::operations::upsert_response)#1}&&) (this=0x198e960, request=..., handler=...) at /home/couchbase/jenkins/workspace/c-cpp/cxx/centos-cxx-sdk-server-situational-tests/couchbase-cxx-client/couchbase/cluster.hxx:172
      11:33:49 #10 0x0000000000daf719 in CBSdkd::Handle::execute_async_ec<couchbase::operations::upsert_request> (this=0x7f14ec003f40, request=...) at /home/couchbase/jenkins/workspace/c-cpp/cxx/centos-cxx-sdk-server-situational-tests/sdkd-cxx/src/Handle.h:193
      11:33:49 #11 0x0000000000e80178 in CBSdkd::CBASLoader::populate (this=0x7f14f3ffe190, ds=...) at /home/couchbase/jenkins/workspace/c-cpp/cxx/centos-cxx-sdk-server-situational-tests/sdkd-cxx/src/CBASLoader.cpp:20
      11:33:50 #12 0x0000000000e5afb9 in CBSdkd::WorkerDispatch::processRequest (this=0x19b7970, req=...) at /home/couchbase/jenkins/workspace/c-cpp/cxx/centos-cxx-sdk-server-situational-tests/sdkd-cxx/src/Worker.cpp:285
      11:33:50 #13 0x0000000000e5b8cc in CBSdkd::WorkerDispatch::selectLoop (this=0x19b7970) at /home/couchbase/jenkins/workspace/c-cpp/cxx/centos-cxx-sdk-server-situational-tests/sdkd-cxx/src/Worker.cpp:354
      11:33:50 #14 0x0000000000e5b97e in CBSdkd::WorkerDispatch::run (this=0x19b7970) at /home/couchbase/jenkins/workspace/c-cpp/cxx/centos-cxx-sdk-server-situational-tests/sdkd-cxx/src/Worker.cpp:376
      11:33:50 #15 0x0000000000c92346 in CBSdkd::new_worker_thread (worker=0x19b7970) at /home/couchbase/jenkins/workspace/c-cpp/cxx/centos-cxx-sdk-server-situational-tests/sdkd-cxx/src/Control.cpp:125
      11:33:50 #16 0x00007f14fdf9e14a in start_thread () from /lib64/libpthread.so.0
      11:33:50 #17 0x00007f14fc601dc3 in clone () from /lib64/libc.so.6
      

      Attachments

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

        Activity

          People

            avsej Sergey Avseyev
            jake.rawsthorne Jake Rawsthorne
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes