Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-17174

Refactor the AsyncProcess, BufferedMutatorImpl, and HTable

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 2.0.0
    • 2.0.0
    • None
    • None
    • Reviewed
    • Hide
      + cleanup some unused code
      + allow being able to share pool between BufferedMutatorImpl
      + setting "hbase.client.request.controller.impl" to the name of the alternate RequestController (traffic control) implementation class in Configuration
      + The default RequestController implementation is SimpleRequestController
      + setting "hbase.client.log.detail.period.ms" to call logger on a period when waiting for tasks to complete
      Show
      + cleanup some unused code + allow being able to share pool between BufferedMutatorImpl + setting "hbase.client.request.controller.impl" to the name of the alternate RequestController (traffic control) implementation class in Configuration + The default RequestController implementation is SimpleRequestController + setting "hbase.client.log.detail.period.ms" to call logger on a period when waiting for tasks to complete

    Description

      The following are reasons of refactoring.

      1. A update-heavy application, for example, loader, creates many BufferedMutator for batch updates. But these BufferedMutators can’t share a large threadpool because the shutdown() method will be called when closing any BufferedMutator. This patch adds a flag into BufferedMutatorParams for preventing calling the shutdown() method in BufferedMutatorImpl#close
      2. The AsyncProcess has the powerful traffic control, but the control is against the single table currently. We should allow alternate traffic control implementation for advanced user who want more control.

      All suggestions are welcome.

      Attachments

        1. HBASE-17174.v0.patch
          29 kB
          Chia-Ping Tsai
        2. HBASE-17174.v1.patch
          29 kB
          Chia-Ping Tsai
        3. HBASE-17174.v2.patch
          29 kB
          Chia-Ping Tsai
        4. HBASE-17174.v3.patch
          31 kB
          Chia-Ping Tsai
        5. HBASE-17174.v4.patch
          30 kB
          Chia-Ping Tsai
        6. HBASE-17174.v5.patch
          29 kB
          Chia-Ping Tsai
        7. HBASE-17174.v6.patch
          115 kB
          Chia-Ping Tsai
        8. HBASE-17174.v7.patch
          115 kB
          Chia-Ping Tsai
        9. HBASE-17174.v8.patch
          124 kB
          Chia-Ping Tsai
        10. HBASE-17174.v9.patch
          124 kB
          Chia-Ping Tsai
        11. HBASE-17174.v10.patch
          131 kB
          Chia-Ping Tsai
        12. HBASE-17174.v11.patch
          195 kB
          Chia-Ping Tsai
        13. HBASE-17174.v11.patch
          195 kB
          Chia-Ping Tsai
        14. HBASE-17174.v11.patch
          195 kB
          Chia-Ping Tsai
        15. HBASE-17174.v12.patch
          195 kB
          Chia-Ping Tsai
        16. HBASE-17174.v13.patch
          194 kB
          Chia-Ping Tsai
        17. HBASE-17174.addendum.patch
          1 kB
          Chia-Ping Tsai

        Issue Links

          Activity

            People

              chia7712 Chia-Ping Tsai
              chia7712 Chia-Ping Tsai
              Votes:
              0 Vote for this issue
              Watchers:
              10 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: