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

After triggering a Major Compaction, clearing the force flag has no effect.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 2.2.6
    • None
    • Compaction
    • None

    Description

      In the HStore.java class, in the requestCompaction method, after manually triggering Major Compaction, this.forceMajor is set to true.

      When clearing the force flag, execute the following code:

      this.forceMajor = this.forceMajor && !request.isMajor(); 

      However, when the table is applied to a Stripe Compaction strategy (other compaction policy may have similar problems), request.isMajor() is always false, because in CompactionRequestImpl the setIsMajor method is not always called. We need to check the calling status of the setIsMajor method. Otherwise, after a major is manually triggered, forceMajor will always be true, and subsequent periodic compactions will also be forced to a major compaction.

      Attachments

        Activity

          People

            Unassigned Unassigned
            leojie Longping Jie
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: