Uploaded image for project: 'Couchbase C client library libcouchbase'
  1. Couchbase C client library libcouchbase
  2. CCBC-1345

lcb_open only sending to one of two nodes



    • Bug
    • Resolution: Fixed
    • Major
    • 3.0.7
    • None
    • None
    • None
    • 1


      Server version: 7.0.0-3739. 2 node cluster. I can repro against other versions too, this does not happen against a single node cluster.

      I'm not certain that we aren't doing something wrong rust side here but this seems like something that would be out of our control.

      I'm using cbshell and as soon as the shell starts I send a get request (so before lcb has had a chance to get fully setup). What I think that I'm seeing happen here is that we create a new lcb instance against node A. Lcb gets a cluster config but before it connects to node B we send an open bucket. Node B connection bootstraps and I see 2 select bucket requests against that node, I do not know if one has been sent as a part of bootstrap or if it's 2 requests after bootstrap. I see the open bucket callback get called and then we send a get request (which is converted into a get cid) which gets routed to node A and returns a Not connected to bucket error.

      I have attached logs and pcap. In the logs the line "DEBUG couchbase::io::lcb::instance > Starting bucket bind for default" is where we start the open bucket from the rust side. We use a lcb_wait after open and the line once that has completed is " DEBUG couchbase::io::lcb::instance > Finished bucket bind for default".



        1. lcb_open.log
          12 kB
        2. lcb_open.pcapng
          12.20 MB
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.



            avsej Sergey Avseyev
            charles.dixon Charles Dixon
            0 Vote for this issue
            1 Start watching this issue



              Gerrit Reviews

                There are no open Gerrit changes