Uploaded image for project: 'Couchbase .NET client library'
  1. Couchbase .NET client library
  2. NCBC-3401

Scan: Implement latest RFC revision (#9)

    XMLWordPrintable

Details

    • Improvement
    • Resolution: Fixed
    • Major
    • 3.4.9
    • None
    • None

    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

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              emilien.bevierre Emilien Bevierre
              emilien.bevierre Emilien Bevierre
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty