Uploaded image for project: 'C++ Couchbase Client'
  1. C++ Couchbase Client
  2. CXXCBC-344

Handle HTTP 429 for FTS

    XMLWordPrintable

Details

    • Improvement
    • Resolution: Unresolved
    • Major
    • 1.0.0
    • None
    • library

    Description

      Original Requirements

      As part of recent server changes in FTS which will respect the configured quota, the server now pushes back requests if it can't handle them within quota.
      On a FTS request, the server will respond with a HTTP 429 status code. Once this status code is reached, the client should perform a retry with backoff that might or might not be user configurable based on the sdk's best practices.

      Note that it is important to perform backoff before sending it again in round-robin, because behind the scenes the server is performing the request scatter-gather, so we need to give it time to cool off.

      New Considerations

      We should also verify that any new logic around any upcoming throttling features will also survive these original rules that other SDKs have implemented. If not, then we should open a discussion with the FTS team about getting a more explicit indicator about when an operation should retry (similar to how Query provides a retry indicator).

      Background

      This behavior was missed all the way back in SDK 2 from CBD-2661 and CCBC-974, and as a result, never made it into SDK 3 LCB, nor the old wrappers, nor the new C++ SDK, nor the new wrappers. We have verified that the other SDKs do honor this new behavior.

      Attachments

        Issue Links

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

          Activity

            People

              matt.wozakowski Matt Wozakowski
              ray.cardillo Ray Cardillo
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes