Details
Description
In discussion with the KV engine team a mismatch has been discovered that is recorded in this ticket.
The SDK right now uses a single observe call for the "exists" command. It allows for an easy way to check if a document exists without having to load it and it also returns the CAS as part of the ExistsResult.
The whole logic can be boiled down to this. We ask the active and then:
boolean exists = response.observeStatus() == ObserveViaCasResponse.ObserveStatus.FOUND_PERSISTED
|
|| response.observeStatus() == ObserveViaCasResponse.ObserveStatus.FOUND_NOT_PERSISTED;
|
The question came up if the exists command also needs to handle sync write re-commit in progress which it turns out KV engine currently doesn't consider.
I think there are a couple options on the table, one thing to consider is: if we change OBSERVE we need to make sure that SDK 2.x observe-based durability is not impacted
Attachments
Issue Links
- relates to
-
CCBC-1123 Exists must use "getMeta" (0xa0) instead of Observe
- Resolved
-
GOCBC-676 Exists should use getMeta instead of observe
- Resolved
-
JVMCBC-769 exists should use getMeta under the covers
- Resolved
-
NCBC-2184 Exists should use getMeta instead of observe
- Closed