Details
-
Improvement
-
Resolution: Fixed
-
Major
-
None
-
None
-
3
-
SDK22, SDK24, SDK26
Description
Change | Status |
---|---|
Removed #131 RangeScanIdFailure (throw CouchbaseException instead) | Not there before |
Removed #132 RangeScanCancelled (throw RequestCanceledException instead) | Not there before |
Removed ScanTerm::minimum and ScanTerm::maximum. Instead, the from and to fields of a RangeScan are optional; an absent from or to indicates the endpoint is unbounded. | ✅ |
Removed references to server-side implementation details that do not impact clients. | OK |
Removed "reading more than one document at a time" from the list of motivations, since a range scan is not expected to perform better than getting documents by ID using the existing KV get operation. | OK |
Noted that collation (using locale-specific rules for string comparison) is out of scope. | OK |
Noted that all requests related to the same stream must occur on the same KV connection. | OK |
Clarified ideal behavior for concurrent streams. | OK |
In languages that do not support exceptions, or if throwing an exception would not be idiomatic, ScanResult MAY return dummy values for content, cas, and expiryTime if idsOnly() returns true. | NA |
SDKs that apply the range scan timeout to each individual emission should omit batchTimeLimit from ScanOptions, and should always set the time limit to 90% of the client-side timeout. SDKs that handle timeouts differently should include batchTimeLimit in ScanOptions, with a default value of 0 (unlimited). | NA |
Added concurrency to ScanOptions. Defaults to 1. SDKs that have not implemented concurrent scans should omit this option from ScanOptions. | OMITTED |
Removed threshold logging for range scan. Removed kvScanThreshold field from the threshold logging config. | NA |
Clarified that if the SDK does not have an available endpoint to dispatch a scan creation request, it should retry until an endpoint becomes available. | |
Clarified that if multiple concurrent substreams fail permanently for different reasons, the SDK arbitrarily selects one of the failures to report to the user as the cause of the overall stream failure. | |
Categorized each error condition as "Benign", "Retryable", "Retryable with special handling", "Fatal (unless sampling scan)", or "Fatal (always)". |
Extras:
- Added default Timeout to be 75s.
Attachments
Issue Links
- split from
-
NCBC-3273 SDK Support for Native KV Range Scans
- Closed