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

Refactor the way the CompactedHFileDischarger threads are created

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 2.0.0
    • None
    • None
    • Reviewed
    • Hide
      The property 'hbase.hfile.compactions.discharger.interval' has been renamed to 'hbase.hfile.compaction.discharger.interval' that describes the interval after which the compaction discharger chore service should run.
      The property 'hbase.hfile.compaction.discharger.thread.count' describes the thread count that does the compaction discharge work.
      The CompactedHFilesDischarger is a chore service now started as part of the RegionServer and this chore service iterates over all the onlineRegions in that RS and uses the RegionServer's executor service to launch a set of threads that does this job of compaction files clean up.
      Show
      The property 'hbase.hfile.compactions.discharger.interval' has been renamed to 'hbase.hfile.compaction.discharger.interval' that describes the interval after which the compaction discharger chore service should run. The property 'hbase.hfile.compaction.discharger.thread.count' describes the thread count that does the compaction discharge work. The CompactedHFilesDischarger is a chore service now started as part of the RegionServer and this chore service iterates over all the onlineRegions in that RS and uses the RegionServer's executor service to launch a set of threads that does this job of compaction files clean up.

    Description

      As per suggestion given over in HBASE-14970, if we need to create a single thread pool service for the CompactionHFileDischarger we need to create an exectuor service in the RegionServer level and create discharger handler threads (Event handlers) and pass the Event to the new Exectuor service that we create for the compaction hfiles discharger. What should be the default number of threads here? If a HRS holds 100 of regions - will 10 threads be enough? This issue will try to resolve this with tests and discussions and suitable patch will be updated in HBASE-14970 for branch-1 once this is committed.

      Attachments

        1. HBASE-15027_1.patch
          17 kB
          ramkrishna.s.vasudevan
        2. HBASE-15027_2.patch
          17 kB
          ramkrishna.s.vasudevan
        3. HBASE-15027_3.patch
          19 kB
          ramkrishna.s.vasudevan
        4. HBASE-15027_3.patch
          19 kB
          ramkrishna.s.vasudevan
        5. HBASE-15027_4.patch
          21 kB
          ramkrishna.s.vasudevan
        6. HBASE-15027_5.patch
          45 kB
          ramkrishna.s.vasudevan
        7. HBASE-15027_6.patch
          52 kB
          ramkrishna.s.vasudevan
        8. HBASE-15027_7.patch
          53 kB
          ramkrishna.s.vasudevan
        9. HBASE-15027_8.patch
          53 kB
          ramkrishna.s.vasudevan
        10. HBASE-15027_findbug.patch
          1.0 kB
          ramkrishna.s.vasudevan
        11. HBASE-15027.patch
          16 kB
          ramkrishna.s.vasudevan

        Activity

          People

            ram_krish ramkrishna.s.vasudevan
            ram_krish ramkrishna.s.vasudevan
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: