Introduce ReshardingPromiseRegistry and ReshardingPromise

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Fixed
    • Priority: Major - P3
    • 9.0.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Cluster Scalability
    • Fully Compatible
    • ClusterScalability 27Apr-11May
    • 2
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      This registry provides three APIs to enable registering a promise with a recovery function and setting it to an error:

      using RecoveryFn = std::function<void(WithLock)>;
      using ErrorFn = std::function<void(WithLock, Status)>;
      
      void registerPromise(RecoveryFn, ErrorFn);
      void setError(WithLock, Status);
      void recover(WithLock);
      

      The ReshardingPromise class is templated on SharedPromise type it wraps in:

      template <typename T>
      class ReshardingPromise {
      public:
      	ReshardingPromise(ReshardingPromiseRegistry, RecoveryFn);
      
      private:
      	SharedPromise<T> _promise;
      }
      

            Assignee:
            Brett Nawrocki
            Reporter:
            Abdul Qadeer
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: