You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by zg...@apache.org on 2019/09/19 00:38:47 UTC
[hbase] 01/02: HBASE-23044 CatalogJanitor#cleanMergeQualifier may
clean wrong parent regions (#637)
This is an automated email from the ASF dual-hosted git repository.
zghao pushed a commit to branch branch-2.1
in repository https://gitbox.apache.org/repos/asf/hbase.git
commit 01669de6ea256d1d68bcc2a8ef25f03c37b8667e
Author: Guanghao Zhang <zg...@apache.org>
AuthorDate: Thu Sep 19 08:08:49 2019 +0800
HBASE-23044 CatalogJanitor#cleanMergeQualifier may clean wrong parent regions (#637)
Signed-off-by: Duo Zhang <zh...@apache.org>
---
.../org/apache/hadoop/hbase/MetaTableAccessor.java | 41 +----
.../apache/hadoop/hbase/TestMetaTableAccessor.java | 195 +++++++++++++--------
2 files changed, 130 insertions(+), 106 deletions(-)
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java
index 09148d7..9c13c12 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java
@@ -59,8 +59,6 @@ import org.apache.hadoop.hbase.client.TableState;
import org.apache.hadoop.hbase.exceptions.DeserializationException;
import org.apache.hadoop.hbase.filter.Filter;
import org.apache.hadoop.hbase.filter.FirstKeyOnlyFilter;
-import org.apache.hadoop.hbase.filter.QualifierFilter;
-import org.apache.hadoop.hbase.filter.RegexStringComparator;
import org.apache.hadoop.hbase.filter.RowFilter;
import org.apache.hadoop.hbase.filter.SubstringComparator;
import org.apache.hadoop.hbase.ipc.CoprocessorRpcChannel;
@@ -374,7 +372,7 @@ public class MetaTableAccessor {
@Nullable
public static List<RegionInfo> getMergeRegions(Connection connection, byte[] regionName)
throws IOException {
- return getMergeRegions(getMergeRegionsRaw(connection, regionName));
+ return getMergeRegions(getRegionResult(connection, regionName).rawCells());
}
/**
@@ -428,31 +426,6 @@ public class MetaTableAccessor {
}
/**
- * @return Array of Cells made from all columns on the <code>regionName</code> row
- * that match the regex 'info:merge.*'.
- */
- @Nullable
- private static Cell [] getMergeRegionsRaw(Connection connection, byte [] regionName)
- throws IOException {
- Scan scan = new Scan().withStartRow(regionName).
- setOneRowLimit().
- readVersions(1).
- addFamily(HConstants.CATALOG_FAMILY).
- setFilter(new QualifierFilter(CompareOperator.EQUAL,
- new RegexStringComparator(HConstants.MERGE_QUALIFIER_PREFIX_STR+ ".*")));
- try (Table m = getMetaHTable(connection); ResultScanner scanner = m.getScanner(scan)) {
- // Should be only one result in this scanner if any.
- Result result = scanner.next();
- if (result == null) {
- return null;
- }
- // Should be safe to just return all Cells found since we had filter in place.
- // All values should be RegionInfos or something wrong.
- return result.rawCells();
- }
- }
-
- /**
* Checks if the specified table exists. Looks at the hbase:meta table hosted on
* the specified server.
* @param connection connection we're using
@@ -1910,21 +1883,23 @@ public class MetaTableAccessor {
throws IOException {
Delete delete = new Delete(mergeRegion.getRegionName());
// NOTE: We are doing a new hbase:meta read here.
- Cell [] cells = getMergeRegionsRaw(connection, mergeRegion.getRegionName());
+ Cell[] cells = getRegionResult(connection, mergeRegion.getRegionName()).rawCells();
if (cells == null || cells.length == 0) {
return;
}
- List<byte[]> qualifiers = new ArrayList<>(cells.length);
+ List<byte[]> qualifiers = new ArrayList<>();
for (Cell cell : cells) {
+ if (!isMergeQualifierPrefix(cell)) {
+ continue;
+ }
byte[] qualifier = CellUtil.cloneQualifier(cell);
qualifiers.add(qualifier);
delete.addColumns(getCatalogFamily(), qualifier, HConstants.LATEST_TIMESTAMP);
}
deleteFromMetaTable(connection, delete);
LOG.info("Deleted merge references in " + mergeRegion.getRegionNameAsString() +
- ", deleted qualifiers " +
- qualifiers.stream().map(Bytes::toStringBinary).
- collect(Collectors.joining(", ")));
+ ", deleted qualifiers " + qualifiers.stream().map(Bytes::toStringBinary).
+ collect(Collectors.joining(", ")));
}
public static Put addRegionInfo(final Put p, final RegionInfo hri)
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/TestMetaTableAccessor.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/TestMetaTableAccessor.java
index 680a751..9c196f0 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/TestMetaTableAccessor.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/TestMetaTableAccessor.java
@@ -17,6 +17,13 @@
*/
package org.apache.hadoop.hbase;
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
import static org.mockito.ArgumentMatchers.anyObject;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
@@ -30,6 +37,8 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
+import java.util.concurrent.TimeUnit;
+
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.Connection;
@@ -61,7 +70,6 @@ import org.apache.hbase.thirdparty.com.google.common.collect.Lists;
import org.apache.hbase.thirdparty.com.google.common.collect.Sets;
import org.junit.AfterClass;
-import org.junit.Assert;
import org.junit.BeforeClass;
import org.junit.ClassRule;
import org.junit.Rule;
@@ -106,8 +114,49 @@ public class TestMetaTableAccessor {
UTIL.shutdownMiniCluster();
}
+ /**
+ * Test for HBASE-23044.
+ */
+ @Test
+ public void testGetMergeRegions() throws Exception {
+ TableName tn = TableName.valueOf(this.name.getMethodName());
+ UTIL.createMultiRegionTable(tn, Bytes.toBytes("CF"), 4);
+ UTIL.waitTableAvailable(tn);
+ try (Admin admin = UTIL.getAdmin()) {
+ List<RegionInfo> regions = admin.getRegions(tn);
+ assertEquals(4, regions.size());
+ admin.mergeRegionsAsync(regions.get(0).getRegionName(), regions.get(1).getRegionName(), false)
+ .get(60, TimeUnit.SECONDS);
+ admin.mergeRegionsAsync(regions.get(2).getRegionName(), regions.get(3).getRegionName(), false)
+ .get(60, TimeUnit.SECONDS);
+
+ List<RegionInfo> mergedRegions = admin.getRegions(tn);
+ assertEquals(2, mergedRegions.size());
+ RegionInfo mergedRegion0 = mergedRegions.get(0);
+ RegionInfo mergedRegion1 = mergedRegions.get(1);
+
+ List<RegionInfo> mergeParents =
+ MetaTableAccessor.getMergeRegions(connection, mergedRegion0.getRegionName());
+ assertTrue(mergeParents.contains(regions.get(0)));
+ assertTrue(mergeParents.contains(regions.get(1)));
+ mergeParents = MetaTableAccessor.getMergeRegions(connection, mergedRegion1.getRegionName());
+ assertTrue(mergeParents.contains(regions.get(2)));
+ assertTrue(mergeParents.contains(regions.get(3)));
+
+ // Delete merge qualifiers for mergedRegion0, then cannot getMergeRegions again
+ MetaTableAccessor.deleteMergeQualifiers(connection, mergedRegion0);
+ mergeParents = MetaTableAccessor.getMergeRegions(connection, mergedRegion0.getRegionName());
+ assertNull(mergeParents);
+
+ mergeParents = MetaTableAccessor.getMergeRegions(connection, mergedRegion1.getRegionName());
+ assertTrue(mergeParents.contains(regions.get(2)));
+ assertTrue(mergeParents.contains(regions.get(3)));
+ }
+ UTIL.deleteTable(tn);
+ }
+
@Test
- public void testGettingMergeRegions() throws IOException {
+ public void testAddMergeRegions() throws IOException {
TableName tn = TableName.valueOf(this.name.getMethodName());
Put put = new Put(Bytes.toBytes(this.name.getMethodName()));
List<RegionInfo> ris = new ArrayList<>();
@@ -121,12 +170,12 @@ public class TestMetaTableAccessor {
put = MetaTableAccessor.addMergeRegions(put, ris);
List<Cell> cells = put.getFamilyCellMap().get(HConstants.CATALOG_FAMILY);
String previousQualifier = null;
- Assert.assertEquals(limit, cells.size());
+ assertEquals(limit, cells.size());
for (Cell cell: cells) {
LOG.info(cell.toString());
String qualifier = Bytes.toString(cell.getQualifierArray());
- Assert.assertTrue(qualifier.startsWith(HConstants.MERGE_QUALIFIER_PREFIX_STR));
- Assert.assertNotEquals(qualifier, previousQualifier);
+ assertTrue(qualifier.startsWith(HConstants.MERGE_QUALIFIER_PREFIX_STR));
+ assertNotEquals(qualifier, previousQualifier);
previousQualifier = qualifier;
}
}
@@ -134,7 +183,7 @@ public class TestMetaTableAccessor {
@Test
public void testIsMetaWhenAllHealthy() throws InterruptedException {
HMaster m = UTIL.getMiniHBaseCluster().getMaster();
- Assert.assertTrue(m.waitForMetaOnline());
+ assertTrue(m.waitForMetaOnline());
}
@Test
@@ -143,7 +192,7 @@ public class TestMetaTableAccessor {
int index = UTIL.getMiniHBaseCluster().getServerWithMeta();
HRegionServer rsWithMeta = UTIL.getMiniHBaseCluster().getRegionServer(index);
rsWithMeta.abort("TESTING");
- Assert.assertTrue(m.waitForMetaOnline());
+ assertTrue(m.waitForMetaOnline());
}
/**
@@ -188,8 +237,8 @@ public class TestMetaTableAccessor {
try {
// Make sure reader and writer are working.
- Assert.assertTrue(reader.isProgressing());
- Assert.assertTrue(writer.isProgressing());
+ assertTrue(reader.isProgressing());
+ assertTrue(writer.isProgressing());
// Kill server hosting meta -- twice . See if our reader/writer ride over the
// meta moves. They'll need to retry.
@@ -208,8 +257,8 @@ public class TestMetaTableAccessor {
}
}
- Assert.assertTrue("reader: " + reader.toString(), reader.isProgressing());
- Assert.assertTrue("writer: " + writer.toString(), writer.isProgressing());
+ assertTrue("reader: " + reader.toString(), reader.isProgressing());
+ assertTrue("writer: " + writer.toString(), writer.isProgressing());
} catch (IOException e) {
throw e;
} finally {
@@ -220,7 +269,7 @@ public class TestMetaTableAccessor {
t.close();
}
long exeTime = System.currentTimeMillis() - startTime;
- Assert.assertTrue("Timeout: test took " + exeTime / 1000 + " sec", exeTime < timeOut);
+ assertTrue("Timeout: test took " + exeTime / 1000 + " sec", exeTime < timeOut);
}
/**
@@ -276,27 +325,27 @@ public class TestMetaTableAccessor {
public void testGetRegionsFromMetaTable() throws IOException, InterruptedException {
MetaTableLocator mtl = new MetaTableLocator();
List<RegionInfo> regions = mtl.getMetaRegions(UTIL.getZooKeeperWatcher());
- Assert.assertTrue(regions.size() >= 1);
- Assert.assertTrue(
+ assertTrue(regions.size() >= 1);
+ assertTrue(
mtl.getMetaRegionsAndLocations(UTIL.getZooKeeperWatcher()).size() >= 1);
}
@Test public void testTableExists() throws IOException {
final TableName tableName = TableName.valueOf(name.getMethodName());
- Assert.assertFalse(MetaTableAccessor.tableExists(connection, tableName));
+ assertFalse(MetaTableAccessor.tableExists(connection, tableName));
UTIL.createTable(tableName, HConstants.CATALOG_FAMILY);
- Assert.assertTrue(MetaTableAccessor.tableExists(connection, tableName));
+ assertTrue(MetaTableAccessor.tableExists(connection, tableName));
Admin admin = UTIL.getAdmin();
admin.disableTable(tableName);
admin.deleteTable(tableName);
- Assert.assertFalse(MetaTableAccessor.tableExists(connection, tableName));
- Assert.assertTrue(MetaTableAccessor.tableExists(connection,
+ assertFalse(MetaTableAccessor.tableExists(connection, tableName));
+ assertTrue(MetaTableAccessor.tableExists(connection,
TableName.META_TABLE_NAME));
UTIL.createTable(tableName, HConstants.CATALOG_FAMILY);
- Assert.assertTrue(MetaTableAccessor.tableExists(connection, tableName));
+ assertTrue(MetaTableAccessor.tableExists(connection, tableName));
admin.disableTable(tableName);
admin.deleteTable(tableName);
- Assert.assertFalse(MetaTableAccessor.tableExists(connection, tableName));
+ assertFalse(MetaTableAccessor.tableExists(connection, tableName));
}
@Test public void testGetRegion() throws IOException, InterruptedException {
@@ -305,7 +354,7 @@ public class TestMetaTableAccessor {
// Test get on non-existent region.
Pair<RegionInfo, ServerName> pair =
MetaTableAccessor.getRegion(connection, Bytes.toBytes("nonexistent-region"));
- Assert.assertNull(pair);
+ assertNull(pair);
LOG.info("Finished " + name);
}
@@ -328,18 +377,18 @@ public class TestMetaTableAccessor {
// Now make sure we only get the regions from 1 of the tables at a time
- Assert.assertEquals(1, MetaTableAccessor.getTableRegions(connection, tableName).size());
- Assert.assertEquals(1, MetaTableAccessor.getTableRegions(connection, greaterName).size());
+ assertEquals(1, MetaTableAccessor.getTableRegions(connection, tableName).size());
+ assertEquals(1, MetaTableAccessor.getTableRegions(connection, greaterName).size());
}
private static List<RegionInfo> testGettingTableRegions(final Connection connection,
final TableName name, final int regionCount)
throws IOException, InterruptedException {
List<RegionInfo> regions = MetaTableAccessor.getTableRegions(connection, name);
- Assert.assertEquals(regionCount, regions.size());
+ assertEquals(regionCount, regions.size());
Pair<RegionInfo, ServerName> pair =
MetaTableAccessor.getRegion(connection, regions.get(0).getRegionName());
- Assert.assertEquals(regions.get(0).getEncodedName(),
+ assertEquals(regions.get(0).getEncodedName(),
pair.getFirst().getEncodedName());
return regions;
}
@@ -349,48 +398,48 @@ public class TestMetaTableAccessor {
throws IOException, InterruptedException {
Pair<RegionInfo, ServerName> pair =
MetaTableAccessor.getRegion(connection, region.getRegionName());
- Assert.assertEquals(region.getEncodedName(),
+ assertEquals(region.getEncodedName(),
pair.getFirst().getEncodedName());
}
@Test
public void testParseReplicaIdFromServerColumn() {
String column1 = HConstants.SERVER_QUALIFIER_STR;
- Assert.assertEquals(0,
+ assertEquals(0,
MetaTableAccessor.parseReplicaIdFromServerColumn(Bytes.toBytes(column1)));
String column2 = column1 + MetaTableAccessor.META_REPLICA_ID_DELIMITER;
- Assert.assertEquals(-1,
+ assertEquals(-1,
MetaTableAccessor.parseReplicaIdFromServerColumn(Bytes.toBytes(column2)));
String column3 = column2 + "00";
- Assert.assertEquals(-1,
+ assertEquals(-1,
MetaTableAccessor.parseReplicaIdFromServerColumn(Bytes.toBytes(column3)));
String column4 = column3 + "2A";
- Assert.assertEquals(42,
+ assertEquals(42,
MetaTableAccessor.parseReplicaIdFromServerColumn(Bytes.toBytes(column4)));
String column5 = column4 + "2A";
- Assert.assertEquals(-1,
+ assertEquals(-1,
MetaTableAccessor.parseReplicaIdFromServerColumn(Bytes.toBytes(column5)));
String column6 = HConstants.STARTCODE_QUALIFIER_STR;
- Assert.assertEquals(-1,
+ assertEquals(-1,
MetaTableAccessor.parseReplicaIdFromServerColumn(Bytes.toBytes(column6)));
}
@Test
public void testMetaReaderGetColumnMethods() {
- Assert.assertArrayEquals(HConstants.SERVER_QUALIFIER, MetaTableAccessor.getServerColumn(0));
- Assert.assertArrayEquals(Bytes.toBytes(HConstants.SERVER_QUALIFIER_STR
+ assertArrayEquals(HConstants.SERVER_QUALIFIER, MetaTableAccessor.getServerColumn(0));
+ assertArrayEquals(Bytes.toBytes(HConstants.SERVER_QUALIFIER_STR
+ MetaTableAccessor.META_REPLICA_ID_DELIMITER + "002A"),
MetaTableAccessor.getServerColumn(42));
- Assert.assertArrayEquals(HConstants.STARTCODE_QUALIFIER,
+ assertArrayEquals(HConstants.STARTCODE_QUALIFIER,
MetaTableAccessor.getStartCodeColumn(0));
- Assert.assertArrayEquals(Bytes.toBytes(HConstants.STARTCODE_QUALIFIER_STR
+ assertArrayEquals(Bytes.toBytes(HConstants.STARTCODE_QUALIFIER_STR
+ MetaTableAccessor.META_REPLICA_ID_DELIMITER + "002A"),
MetaTableAccessor.getStartCodeColumn(42));
- Assert.assertArrayEquals(HConstants.SEQNUM_QUALIFIER,
+ assertArrayEquals(HConstants.SEQNUM_QUALIFIER,
MetaTableAccessor.getSeqNumColumn(0));
- Assert.assertArrayEquals(Bytes.toBytes(HConstants.SEQNUM_QUALIFIER_STR
+ assertArrayEquals(Bytes.toBytes(HConstants.SEQNUM_QUALIFIER_STR
+ MetaTableAccessor.META_REPLICA_ID_DELIMITER + "002A"),
MetaTableAccessor.getSeqNumColumn(42));
}
@@ -459,14 +508,14 @@ public class TestMetaTableAccessor {
long seqNum, int replicaId, boolean checkSeqNum) throws IOException {
Get get = new Get(row);
Result result = meta.get(get);
- Assert.assertTrue(Bytes.equals(
+ assertTrue(Bytes.equals(
result.getValue(HConstants.CATALOG_FAMILY, MetaTableAccessor.getServerColumn(replicaId)),
Bytes.toBytes(serverName.getHostAndPort())));
- Assert.assertTrue(Bytes.equals(
+ assertTrue(Bytes.equals(
result.getValue(HConstants.CATALOG_FAMILY, MetaTableAccessor.getStartCodeColumn(replicaId)),
Bytes.toBytes(serverName.getStartcode())));
if (checkSeqNum) {
- Assert.assertTrue(Bytes.equals(
+ assertTrue(Bytes.equals(
result.getValue(HConstants.CATALOG_FAMILY, MetaTableAccessor.getSeqNumColumn(replicaId)),
Bytes.toBytes(seqNum)));
}
@@ -480,10 +529,10 @@ public class TestMetaTableAccessor {
MetaTableAccessor.getServerColumn(replicaId));
Cell startCodeCell = result.getColumnLatestCell(HConstants.CATALOG_FAMILY,
MetaTableAccessor.getStartCodeColumn(replicaId));
- Assert.assertNotNull(serverCell);
- Assert.assertNotNull(startCodeCell);
- Assert.assertEquals(0, serverCell.getValueLength());
- Assert.assertEquals(0, startCodeCell.getValueLength());
+ assertNotNull(serverCell);
+ assertNotNull(startCodeCell);
+ assertEquals(0, serverCell.getValueLength());
+ assertEquals(0, startCodeCell.getValueLength());
}
@Test
@@ -511,12 +560,12 @@ public class TestMetaTableAccessor {
Cell snCell = result.getColumnLatestCell(HConstants.CATALOG_FAMILY,
MetaTableAccessor.getServerNameColumn(replicaId));
if (replicaId == 0) {
- Assert.assertNotNull(stateCell);
+ assertNotNull(stateCell);
} else {
- Assert.assertNull(serverCell);
- Assert.assertNull(startCodeCell);
- Assert.assertNull(stateCell);
- Assert.assertNull(snCell);
+ assertNull(serverCell);
+ assertNull(startCodeCell);
+ assertNull(stateCell);
+ assertNull(snCell);
}
}
} finally {
@@ -707,15 +756,15 @@ public class TestMetaTableAccessor {
MetaTableAccessor.getStartCodeColumn(0));
Cell seqNumCell = result.getColumnLatestCell(HConstants.CATALOG_FAMILY,
MetaTableAccessor.getSeqNumColumn(0));
- Assert.assertNotNull(serverCell);
- Assert.assertNotNull(startCodeCell);
- Assert.assertNotNull(seqNumCell);
- Assert.assertTrue(serverCell.getValueLength() > 0);
- Assert.assertTrue(startCodeCell.getValueLength() > 0);
- Assert.assertTrue(seqNumCell.getValueLength() > 0);
- Assert.assertEquals(masterSystemTime, serverCell.getTimestamp());
- Assert.assertEquals(masterSystemTime, startCodeCell.getTimestamp());
- Assert.assertEquals(masterSystemTime, seqNumCell.getTimestamp());
+ assertNotNull(serverCell);
+ assertNotNull(startCodeCell);
+ assertNotNull(seqNumCell);
+ assertTrue(serverCell.getValueLength() > 0);
+ assertTrue(startCodeCell.getValueLength() > 0);
+ assertTrue(seqNumCell.getValueLength() > 0);
+ assertEquals(masterSystemTime, serverCell.getTimestamp());
+ assertEquals(masterSystemTime, startCodeCell.getTimestamp());
+ assertEquals(masterSystemTime, seqNumCell.getTimestamp());
}
}
@@ -765,8 +814,8 @@ public class TestMetaTableAccessor {
Result result = meta.get(get);
Cell serverCell = result.getColumnLatestCell(HConstants.CATALOG_FAMILY,
MetaTableAccessor.getServerColumn(0));
- Assert.assertNotNull(serverCell);
- Assert.assertEquals(serverNameTime, serverCell.getTimestamp());
+ assertNotNull(serverCell);
+ assertEquals(serverNameTime, serverCell.getTimestamp());
ManualEnvironmentEdge edge = new ManualEnvironmentEdge();
edge.setValue(masterSystemTime);
@@ -787,9 +836,9 @@ public class TestMetaTableAccessor {
MetaTableAccessor.getStartCodeColumn(0));
Cell seqNumCell = result.getColumnLatestCell(HConstants.CATALOG_FAMILY,
MetaTableAccessor.getSeqNumColumn(0));
- Assert.assertNull(serverCell);
- Assert.assertNull(startCodeCell);
- Assert.assertNull(seqNumCell);
+ assertNull(serverCell);
+ assertNull(startCodeCell);
+ assertNull(seqNumCell);
}
}
@@ -870,7 +919,7 @@ public class TestMetaTableAccessor {
MetaTableAccessor.splitRegion(connection, parent, -1L, splitA, splitB, loc.getServerName(),
1);
- Assert.assertTrue(prevCalls < scheduler.numPriorityCalls);
+ assertTrue(prevCalls < scheduler.numPriorityCalls);
}
}
@@ -912,8 +961,8 @@ public class TestMetaTableAccessor {
MetaTableAccessor.getServerColumn(splitA.getReplicaId()));
Cell startCodeCellA = resultA.getColumnLatestCell(HConstants.CATALOG_FAMILY,
MetaTableAccessor.getStartCodeColumn(splitA.getReplicaId()));
- Assert.assertNull(serverCellA);
- Assert.assertNull(startCodeCellA);
+ assertNull(serverCellA);
+ assertNull(startCodeCellA);
Get get2 = new Get(splitA.getRegionName());
Result resultB = meta.get(get2);
@@ -921,8 +970,8 @@ public class TestMetaTableAccessor {
MetaTableAccessor.getServerColumn(splitB.getReplicaId()));
Cell startCodeCellB = resultB.getColumnLatestCell(HConstants.CATALOG_FAMILY,
MetaTableAccessor.getStartCodeColumn(splitB.getReplicaId()));
- Assert.assertNull(serverCellB);
- Assert.assertNull(startCodeCellB);
+ assertNull(serverCellB);
+ assertNull(startCodeCellB);
} finally {
if (meta != null) {
meta.close();
@@ -938,10 +987,10 @@ public class TestMetaTableAccessor {
final String encodedName = regions.get(0).getRegionInfo().getEncodedName();
final Result result = MetaTableAccessor.scanByRegionEncodedName(UTIL.getConnection(),
encodedName);
- Assert.assertNotNull(result);
- Assert.assertTrue(result.advance());
+ assertNotNull(result);
+ assertTrue(result.advance());
final String resultingRowKey = CellUtil.getCellKeyAsString(result.current());
- Assert.assertTrue(resultingRowKey.contains(encodedName));
+ assertTrue(resultingRowKey.contains(encodedName));
UTIL.deleteTable(tableName);
}
@@ -950,7 +999,7 @@ public class TestMetaTableAccessor {
final String encodedName = "nonexistingregion";
final Result result = MetaTableAccessor.scanByRegionEncodedName(UTIL.getConnection(),
encodedName);
- Assert.assertNull(result);
+ assertNull(result);
}
}