Feature request : CAS check in Couchbase document editor


#1

When we edit a document in document editor it is unaware of concurrent mutations
I request a feature that check CAS on saving , for instance a Save and check CAS button or a “check CAS” checkbox


#2

Hi @socketman2016,

I’m curious as to why you want this feature. Are you doing edits in the Couchbase Console often enough where CAS checks would be necessary? Do you want it for testing purposes? What is the problem you are working on where this would be helpful?


#3

As my application is in heavy development, sometimes I need to manually change a document from web console due to lack of features we are developing, features that rarly needed so we develop it in futures
Changing document from web console is a temporary short term solution but currently is not safe and CAS check is a need
My application is very complex and many many two phase commit is implemented, If I edit document without CAS check I loose consistency


#4

@matthew.groves Do you have plan to implement it?
What is the benefit of Couchbase web console’s save , when we cannot guarantee consistency,May be we loose consistency by loosing some data as we are unaware of concurrent mutation


#5

Hi @socketman2016,

I wasn’t able to find any ticket for this in the backlog, so I added one: https://issues.couchbase.com/browse/MB-32105

You might want to keep your eye on that ticket, as others may chime in with workarounds and comments, etc.


#6

Since I’m responsible for the document editor, I will take a look at this.

I don’t think the document editor was ever considered for making production changes, which is why it doesn’t support this use case. I’m not sure if the REST API that I use for changing documents supports CAS, so I will update the bug when I find out how hard this change would be.


#7

N1QL rest API validates CAS value


#8

The document editor doesn’t always use the N1QL REST API, because it needs to work on systems and nodes that may not be running the Query service. Instead it uses a not-well-document KV REST API.