Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
  • Jan 06 2016 17:57
  • Jan 06 2016 17:56
Hi All,
I am facing an issue when multiple updations are happening on a single document in a AttemptContext transactional block
and getting a warning message "[com.couchbase.core][IllegalDocumentState] Tried committing document <document_id>, but found that it has been modified by another party in-between staging and committing. The application must ensure that non-transactional writes cannot happen at the same time as transactional writes on a document. The change will be committed with CAS=0, which will overwrite the other change. This document may need manual review to verify that no changes have been lost. Last document state=cas=<CAS>,seqno=<SEQ_NO>,vbucket"
Because of this, data is becoming inconsistent
Michael Reiche
As the message describes, there is another update that occurred outside of any transaction, and that update is not protected from an update by the current transaction (this is the isolation which is provided by couchbase transactions). Either ensure that all updates occur within couchbase transactions, or use the CAS with the replace operation without couchbase transactions.
All the updates to a document is happening in a transaction block itself
Keith E. Truesdell
hello room, I am new to couchbase, I am currently using Go and the library from Couchbase for Go, GoCB
I am getting an "ambiguous timeout" or "unambiguous timeout" error when I try to run a simple script

some sample code below...

cOpts := gocb.ClusterOptions{
        Authenticator: gocb.PasswordAuthenticator{
            Username: "user",
            Password: "pw",

    cluster, err := gocb.Connect("couchbase://my.dev.server.net/", cOpts)
    if err != nil {

    qOpts := gocb.QueryOptions{}

    // create query
    queryStr := "SELECT * FROM myBucket WHERE id = '123456789'"

    rows, err := cluster.Query(queryStr, &qOpts)
    if err != nil {

    fmt.Printf("rows: %v\n", rows)

    for rows.Next() {
        var intfc interface{}
        err = rows.Row(&intfc)
        if err != nil {
        fmt.Printf("interface result: %v\n", intfc)


The couchbase server is on 5.1.

I am either getting...

panic: ambiguous timeout | {"statement":"SELECT * FROM myBucketName WHERE id = '123456789'","client_context_id":"cdd52a06-c7a5-4d3d-8r26-99fg806d559e"}

...when I run the above code.
If I put in the following lines after the gocb.Connect(... I get the error that is after that.

err = cluster.WaitUntilReady(25*time.Second, &gocb.WaitUntilReadyOptions{DesiredState: gocb.ClusterStateOnline})
if err != nil {


panic: unambiguous timeout | {"InnerError":{"InnerError":{"InnerError":{},"Message":"unambiguous timeout"}},"OperationID":"WaitUntilReady","Opaque":"","TimeObserved":25000263891,"RetryReasons":["NOT_READY"],"RetryAttempts":105,"LastDispatchedTo":"","LastDispatchedFrom":"","LastConnectionID":""}

NOTE: I changed the Username, Password, Server/connStr, bucket, and the id just for example purposes here.

What am I missing here?

If this is not how to go about connecting to and querying Couchbase I would like to know
Keith E. Truesdell

I was able to figure out my issue...
I guess I needed to add the bucket in the code, though it would not be used...so just after the error check I would have to do this...

_ = cluster.Bucket("myBucket")

I also found out that this server has horrible resources so queries take a while and I had to up the timeouts on things. Additionally, the query I was using was not taking advantage of the indexes at all, so I had to do that as well, I just assumed that ID was indexed, but I come from a relational db background and this was my first foray into Couchbase. I later found out there is another method for getting data based on the document id as well. So there is that.

Matt Ingenthron
hey @keithetruesdell_gitlab , note that most discussion has moved to Discord: https://discord.gg/sQ5qbPZuTh
When I look at some project old code. For some earlier version <= SDK 2.x.x, there is limitation for MutateInAsync operation. But now is SDK 3.x.x. Is there any limitation for MutateInAsync operation builder function?
Chopper Lee
I am using nodejs sdk 2.6.5, failed to connect to couchbase server with ssl options, anyone know if it is workable for this sdk version ?
it works in general
and it is not using https normaly it should use the binary protocol chouchbase:
Hi folks, our resident ratio is very less - 3.7%. What metrics should we be looking at to improve this?
I need some help, This error occurs during peak service periods
{timestamp=2022-10-19T19:12:31.156+0000, path=/test/cc, status=500, error=Internal Server Error, requestId=15d6d9a6-34470088, trace=com.couchbase.client.core.error.UnambiguousTimeoutException: GetRequest, Reason: TIMEOUT {"cancelled":true,"completed":true,"coreId":"0xffccb98900000001","idempotent":true,"lastChannelId":"FFCCB98900000001/00000000AF1391A4","lastDispatchedFrom":"","lastDispatchedTo":"","reason":"TIMEOUT","requestId":35577533,"requestType":"GetRequest","retried":0,"service":{"bucket":"default","collection":"_default","documentId":"bus-product-001231221","opaque":"0x21ee05d","scope":"_default","type":"kv","vbucket":26},"timeoutMs":10000,"timings":{"totalMicros":10005362}}
Daniel Fonseca
Hi guys, I am using use couchbase-lite java in Windows and Linux/x86. I need use it in Linux/ARM /ARM. I haven't found much information on how to use the C API.... Any interesting links? Thank you very much in advance
you can watch into the .h files they list all functions
this are so called header files if you want some more info look into the c++ version as that objects are more readable

Hi, I am trying to deploy Couchbase Operator with the official Helm Chart in my EKS but I am getting this error:

Error: UPGRADE FAILED: template: couchbase-operator/templates/couchbase-tls.yaml:2:22: executing "couchbase-operator/templates/couchbase-tls.yaml" at <include "couchbase-cluster.tls" .>: error calling include: template: couchbase-operator/templates/_helpers.tpl:432:59: executing "couchbase-cluster.tls" at <include "couchbase-cluster.tls.ca-secret" .>: error calling include: template: couchbase-operator/templates/_helpers.tpl:401:4: executing "couchbase-cluster.tls.ca-secret" at <first .Values.cluster.networking.tls.rootCAs>: error calling first: runtime error: invalid memory address or nil pointer dereference

The certs for the server and CA are autogenerated and I a put this in the networking side in the values.conf:

        clientSecretName: couchbase-operator-tls
        #serverSecretName: couchbase-server-tls
      clientCertificatePolicy: mandatory
      - path: subject.cn
      - path: san.email
        delimiter: "@"

Anyone had this error?

Daniel Fonseca
Thank you @frank-dspeed:matrix.org I am going to try compile https://github.com/couchbase/couchbase-lite-core in ARM
Daniel Fonseca
Hi, I've compiled couchbase-lite-core (cbl) in arm (Linux/aarch64) but I only get libLiteCore.so, I need the libLiteCoreJNI.so. I've intalled the cbl for ARM in the https://github.com/couchbase/couchbase-lite-java-ce-root and compiled it but I cannot found the libLiteCoreJNI.so. Does anyone know what step I skipped? or how can I compile the libLiteCoreJNI.so. or where are the sources? I feel like these are really stupid questions but I just started with linux.
Daniel Fonseca

Hi, I finally found the libLiteCoreJNI.so after compiling the couchbase-lite-java-ce-root/ce/java project. But I get errors when trying to run a basic test:

java.lang.NoSuchMethodError: Lcom/couchbase/lite/internal/fleece/FLSliceResult;.<init>(JJ)V

Could it be a versioning problem, have I compiled a version of couchbase-lite-java-ce-root/ce/java incompatible with version cbl-core?

Thank you very much for your help, it is a whole new world for me to compile C project.

1 reply
Hello all, is there a way to check which docs are filtered out from the XDCR console? I recently setup on my cluster, but not all the items are replicated, even though I didn't configure any filters. How do I know what's causing them to be filtered out?
Hi, I am trying to use transaction support with CB server 6.6 with gocb v2.5.1 However, I am running into issues with delete and update. Inserts work fine.
transaction operation failed | unknown xattr macro | {\"status_code\":208,\"document_key\":\"6261445628862305918\",\"bucket\":\"test\",\"scope\":\"_default\",\"collection\":\"_default\",\"error_name\":\"SUBDOC_XATTR_UNKNOWN_MACRO\",\"error_description\":\"Subdoc: The server don't know about the specified macro\",\"opaque\":29,\"last_dispatched_to\":\"cb6.6-node-1-integration.xxxx.com:11210\",\"last_dispatched_from\":\"\",\"last_connection_id\":\"c85e9106efd1e39d/6e60ad824e08e5dd\"}\n"}
@dafondi_twitter: can you document the process that worked?
it would help even if it only worked for you maybe i see opinions to fix the core process

Hello 👋
I would like to ask a few questions about CRUD using cluster queries and key value pair requests. Using K/V operations, I successfully managed to:
get a document by id;
delete a document by id;
update a document by id;
create a document using general base URL;
When I am making a K/V create operation, as a key, I am using “nanoId” library to generate a random string that will be the key; So I can post the new document into a base URL without a query string with params;
Furthermore, my document has its own Id which is a numeric value different from the key.
So when I am trying to get all documents by using K/V, I am not sure how to do it.

export async function getBooks() {
try {
const cluster = await couchbaseConnect();
const bucket = cluster.bucket("BookStore");
const scope = bucket.scope("books")
const collection = scope.collection("books");
const result = await collection.get(id)
//id would be undefined here and I want to get all documents
console.log("I am the result from models", result)
return result.content;
} catch (error) {
router.get("/", async function (req, res) {
const result = await getBooks();
return res.json({ success: true, payload: result });
I can’t get my head around what to put inside const result = await collection.get as I want to get all documents?
Can I do it using K/V pairs or shall I use cluster.query?
when I am trying to use cluster.query, to get documents by a certain query parameter, it seems that there are some errors in the syntax that I can’t resolve…
SELECT id, title, info FROM \BookStore`.books.books
WHERE title = ${title}`;
My bucket is called BookStore, with the scope called “books” and the collection called “books”
key "KQKk6pqbk3TSH" from nanoid

Also, this is my document structure, if info has nested object in an array, do I need to reflect it in SELECT id, title, info [{something something?}]
Thanks! 😊

Your Couchbase: url: cb.xzz66q6qfqlnoetw.cloud.couchbase.com host: nzmxcvvsqharbtb.xzz66q6qfqlnoetw.cloud.couchbase.com ip: status: not accessible network: not accessible -->add playground gateway cidr: /32 (to your cluster allowlist from Capella UI). -- Tried adding cidr to allow list and not able to access, do I need to do anything else