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

numMaxRegionsPerTable is not updated correctly in BaseLoadBalancer.regionMoved

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Duplicate
    • 1.0.0
    • None
    • Balancer
    • None

    Description

      numMaxRegionsPerTable will be updated in BaseLoadBalancer.regionMoved(...) as:

          void regionMoved(int region, int oldServer, int newServer) {
            ....
            int tableIndex = regionIndexToTableIndex[region];
            if (oldServer >= 0) {
              numRegionsPerServerPerTable[oldServer][tableIndex]--;
            }
            numRegionsPerServerPerTable[newServer][tableIndex]++;
      
            //check whether this caused maxRegionsPerTable in the new Server to be updated
            if (numRegionsPerServerPerTable[newServer][tableIndex] > numMaxRegionsPerTable[tableIndex]) {
              numRegionsPerServerPerTable[newServer][tableIndex] = numMaxRegionsPerTable[tableIndex];  // ==> should be: numMaxRegionsPerTable[tableIndex] = numRegionsPerServerPerTable[newServer][tableIndex];
            } else if (oldServer >= 0 && (numRegionsPerServerPerTable[oldServer][tableIndex] + 1)
                == numMaxRegionsPerTable[tableIndex]) {
              //recompute maxRegionsPerTable since the previous value was coming from the old server
              // ===> should reset numMaxRegionsPerTable[tableIndex] before recompute : numMaxRegionsPerTable[tableIndex] = 0;
              for (int serverIndex = 0 ; serverIndex < numRegionsPerServerPerTable.length; serverIndex++) {
                if (numRegionsPerServerPerTable[serverIndex][tableIndex] > numMaxRegionsPerTable[tableIndex]) {
                  numMaxRegionsPerTable[tableIndex] = numRegionsPerServerPerTable[serverIndex][tableIndex];
                }
              }
            }
      

      It seems that numMaxRegionsPerTable is not updated correctly as shown above.

      Attachments

        1. HBASE-12759-trunk.patch
          1 kB
          Jianwei Cui

        Activity

          People

            Unassigned Unassigned
            cuijianwei Jianwei Cui
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: