Uploaded image for project: 'Apache Hudi'
  1. Apache Hudi
  2. HUDI-111

HBase index QPS resource allocation

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Task
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 0.5.0
    • index
    • None

    Description

      Provide QPSResourceAllocator interface in hoodie that exposes two APIs:

      • getQPSFraction() : Get requested QPS resource from HBase based on current utilization. Default implementation will simply return the requested HBase QPS.
      • releaseQPS(): Release the acquired QPS in HBase cluster so other jobs in the cluster can use it. Default implementation does nothing.

      This will help throttle inserts on HBase global index based on volume, in a scenario where multiple jobs with different priorities are running. Based on some benchmarks, heavy volume of PUTS (new inserts) into HBase bring down HBase cluster. 

      Dynamic QPS resource allocator implementation can solve 2 issues:

      • Throttling all inserts across all jobs, such that QPS_Fraction does not exceed 1. (Without this, there are no checks of overall utilization as qps_fraction is purely config driven)
      • Set QPS_Fraction based on the job volume and priority, while having checks on total utilization.

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Venkatesh Rudraraju Venkatesh Rudraraju
            Venkatesh Rudraraju Venkatesh Rudraraju
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - 336h
                336h
                Remaining:
                Remaining Estimate - 336h
                336h
                Logged:
                Time Spent - Not Specified
                Not Specified

                Slack

                  Issue deployment