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

Skip compaction request/check for replica regions at the early stage.

Add voteVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 2.3.0
    • None
    • read replicas
    • None

    Description

      I found that in certain cases replica regions can trigger compaction, one example as follows, need to check all places to avoid compaction for replica regions.

      @Override
      public void postOpenDeployTasks(final PostOpenDeployContext context) throws IOException {
        HRegion r = context.getRegion();
        long openProcId = context.getOpenProcId();
        long masterSystemTime = context.getMasterSystemTime();
        rpcServices.checkOpen();
        LOG.info("Post open deploy tasks for {}, openProcId={}, masterSystemTime={}",
          r.getRegionInfo().getRegionNameAsString(), openProcId, masterSystemTime);
        // Do checks to see if we need to compact (references or too many files)
        // TODO: SHX, do not do this for replica regions? Otherwise, it is going to lost data locality for primary regions.
        for (HStore s : r.stores.values()) {
          if (s.hasReferences() || s.needsCompaction()) {
            this.compactSplitThread.requestSystemCompaction(r, s, "Opening Region");
          }
        }
       

      Attachments

        Issue Links

        Activity

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

          People

            huaxiangsun Huaxiang Sun
            huaxiangsun Huaxiang Sun

            Dates

              Created:
              Updated:

              Issue deployment