Details
-
Bug
-
Resolution: Incomplete
-
Critical
-
None
-
3.0.0, 3.0.1, 3.0.2
-
None
-
None
-
1
Description
Eventing service exposed the advanced bucket ops in which eventing support upsert operation with cas. Specification states that "This operation allows updating an existing document in the bucket, or if absent, creating a fresh document with the specified key."
Since LCB_STORE_UPSERT doesn't consider cas and throws LCB_ERR_INVALID_ARGUMENT it will break backward compatibility.
https://github.com/couchbase/libcouchbase/blob/736f68b822bb3df9620b923f862fed0e5749c451/src/operations/store.cc#L209
Using LCB_STORE_REPLACE will throw error if document key doesn't exist.