Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,7 @@ private static void deleteFromMetaTable(final Connection connection, final Delet
* @param conn a valid, open connection.
* @param table the table to list regions in meta.
* @return a list of <code>HBCKMetaEntry</code> with encoded region names, and the meta row key
* for all table regions present in meta.
* for all table regions present in meta.
* @throws IOException on any issues related with scanning meta table
* */
public static List<HBCKMetaEntry> getTableRegionsAsMetaEntries(final Connection conn,
Expand Down Expand Up @@ -256,7 +256,7 @@ public static List<HBCKMetaEntry> getTableRegionsAsMetaEntries(final Connection
* @param conn a valid, open connection.
* @param table the table to list regions in meta.
* @return a list of <code>String</code> of encoded region names,
* for all table regions present in meta.
* for all table regions present in meta.
* @throws IOException on any issues related with scanning meta table
*/
public static List<RegionInfo> getTableRegions(final Connection conn, final TableName table)
Expand Down
6 changes: 4 additions & 2 deletions hbase-tools/src/main/java/org/apache/hbase/RegionsMerger.java
Original file line number Diff line number Diff line change
Expand Up @@ -189,12 +189,14 @@ public void mergeRegions(String tblName, int targetRegions) throws Exception {
LOG.info("Iteration: {}", counter);
RegionInfo previous = null;
int regionSize = regions.size();
LOG.info("Attempting to merge {} regions to reach the target {} ...", regionSize, targetRegions);
LOG.info("Attempting to merge {} regions to reach the target {} ...", regionSize,
targetRegions);
//to request merge, regions must be OPEN, though
regions = getOpenRegions(conn, table);
for (RegionInfo current : regions) {
if (!current.isSplit()) {
if (previous != null && canMerge(tableDir, previous, current, regionsMerging.values())) {
if (previous != null &&
canMerge(tableDir, previous, current,regionsMerging.values())) {
//Before submitting a merge request, we need to check if any of the region candidates
//still have merge references from previous cycle
boolean hasMergeRef =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,10 @@ public void tearDown() throws Exception {
public void testMergeRegionsCanMergeToTarget() throws Exception {
final int originalCount = TEST_UTIL.countRows(table);
TEST_UTIL.getConfiguration().setInt(RegionsMerger.MAX_ROUNDS_IDLE, 10);
// hbase-2.3 and hbase-2.1 merge's work differently; 2.3 won't merge if a merge candidate is a parent.
// The below used to merge until only 3 regions. Made it less aggressive. Originally there are 15 regions.
// hbase-2.3 and hbase-2.1 merge's work differently; 2.3 won't merge if a merge candidate
// is a parent.
// The below used to merge until only 3 regions. Made it less aggressive. Originally there
// are 15 regions.
// Merge till 10.
final int target = 10;
List<RegionInfo> result = mergeRegionsToTarget(TABLE_NAME, target);
Expand All @@ -92,7 +94,8 @@ public void testMergeRegionsForNonDefaultNamespaceTable() throws Exception {
try {
TEST_UTIL.getConfiguration().setInt(RegionsMerger.MAX_ROUNDS_IDLE, 10);
TEST_UTIL.getAdmin().createNamespace(NamespaceDescriptor.create(NAMESPACE).build());
Table tableWithNamespace = TEST_UTIL.createMultiRegionTable(TABLE_NAME_WITH_NAMESPACE, family, 15);
Table tableWithNamespace =
TEST_UTIL.createMultiRegionTable(TABLE_NAME_WITH_NAMESPACE, family, 15);
final int originalCount = TEST_UTIL.countRows(tableWithNamespace);
final int target = 10;
List<RegionInfo> result = mergeRegionsToTarget(TABLE_NAME_WITH_NAMESPACE, target);
Expand Down
6 changes: 3 additions & 3 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -133,10 +133,10 @@
<log4j2.version>2.17.1</log4j2.version>
<surefire.provider>surefire-junit47</surefire.provider>
<test.output.tofile>true</test.output.tofile>
<checkstyle.version>8.18</checkstyle.version>
<checkstyle.version>8.45.1</checkstyle.version>
<junit.version>4.12</junit.version>
<maven.checkstyle.version>3.0.0</maven.checkstyle.version>
<hbase.checkstyle.version>2.2.0</hbase.checkstyle.version>
<maven.checkstyle.version>3.2.1</maven.checkstyle.version>
<hbase.checkstyle.version>2.5.0</hbase.checkstyle.version>
<enforcer.version>3.0.0-M2</enforcer.version>
<extra.enforcer.version>1.0-beta-9</extra.enforcer.version>
<findbugs-annotations.version>1.3.9-1</findbugs-annotations.version>
Expand Down