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

[Chore] Separate the execution period between CompactionChecker and PeriodicMemStoreFlusher

    XMLWordPrintableJSON

Details

    • Reviewed
    • Hide
      hbase.regionserver.compaction.check.period is used for controlling how often the compaction checker runs. If unset, will use hbase.server.thread.wakefrequency as default value.

      hbase.regionserver.flush.check.period is used for controlling how ofter the flush checker runs. If unset, will use hbase.server.thread.wakefrequency as default value.
      Show
      hbase.regionserver.compaction.check.period is used for controlling how often the compaction checker runs. If unset, will use hbase.server.thread.wakefrequency as default value. hbase.regionserver.flush.check.period is used for controlling how ofter the flush checker runs. If unset, will use hbase.server.thread.wakefrequency as default value.

    Description

      The story started at tuning RS performance where I found:

      public static final String THREAD_WAKE_FREQUENCY = "hbase.server.thread.wakefrequency";
      ...
      this.threadWakeFrequency = conf.getInt(HConstants.THREAD_WAKE_FREQUENCY, 10 * 1000);
      ...
      this.compactionChecker = new CompactionChecker(this, this.threadWakeFrequency, this);
      this.periodicFlusher = new PeriodicMemStoreFlusher(this.threadWakeFrequency, this);
      

      CompactionChecker and PeriodicMemStoreFlusher execution period are bound together. (as well as LeaseChecker)

      This issue is going to introduce two new parameters such that user/admin can tune them according to business workload.

      Attachments

        Issue Links

          Activity

            People

              reidchan Reid Chan
              reidchan Reid Chan
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: