hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jingyun Tian (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HBASE-18619) Should we add a postOpenDeployTasks after open splited or merged region?
Date Thu, 17 Aug 2017 10:27:00 GMT
Jingyun Tian created HBASE-18619:

             Summary: Should we add a postOpenDeployTasks after open splited or merged region?
                 Key: HBASE-18619
                 URL: https://issues.apache.org/jira/browse/HBASE-18619
             Project: HBase
          Issue Type: Bug
          Components: Region Assignment
    Affects Versions: 1.1.11, 1.2.6, 0.98.6, 1.4.0
            Reporter: Jingyun Tian
            Assignee: Jingyun Tian

I have a question that why we skip postOpenDeployTasks() when we not using zk for assignment?
      if (services != null) {
        try {
          if (useZKForAssignment) {
            // add 2nd daughter first (see HBASE-4335)
          } else if (!services.reportRegionStateTransition(TransitionCode.SPLIT,
              parent.getRegionInfo(), hri_a, hri_b)) {
            throw new IOException("Failed to report split region to master: "
              + parent.getRegionInfo().getShortNameToLog());
          // Should add it to OnlineRegions
          if (useZKForAssignment) {
        } catch (KeeperException ke) {
          throw new IOException(ke);
It causes a new splitted region or new merged region will not compact their reference files.
Then if the normalizer thread want to split this region, it will get stuck. 

public boolean canSplit() {
    try {
      // Not split-able if we find a reference store file present in the store.
      boolean result = !hasReferences();
      if (!result && LOG.isDebugEnabled()) {
        LOG.debug("Cannot split region due to reference files being there");
      return result;
    } finally {

According to the code, should we add a  services.postOpenDeployTasks after successfully _*reportRegionStateTransition(TransitionCode.SPLIT,
parent.getRegionInfo(), hri_a, hri_b)*_

This message was sent by Atlassian JIRA

View raw message