HBASE-18743 HFiles in use by a table which has the same name and namespace with a default table cloned from snapshot may be deleted when that snapshot and default table are deleted (wenbang)
This commit is contained in:
parent
8ce811c6ed
commit
d5033fd350
|
@ -388,7 +388,7 @@ public final class TableName implements Comparable<TableName> {
|
|||
|
||||
for (TableName tn : tableCache) {
|
||||
if (qualifierAsString.equals(tn.getQualifierAsString()) &&
|
||||
namespaceAsString.equals(tn.getNameAsString())) {
|
||||
namespaceAsString.equals(tn.getNamespaceAsString())) {
|
||||
return tn;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -393,4 +393,16 @@ public class TestNamespace {
|
|||
fail("Should have thrown exception " + exceptionClass);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testValueOfNamespaceAndQualifier() {
|
||||
TableName name0 = TableName.valueOf("table");
|
||||
TableName name1 = TableName.valueOf("table", "table");
|
||||
assertEquals(NamespaceDescriptor.DEFAULT_NAMESPACE_NAME_STR, name0.getNamespaceAsString());
|
||||
assertEquals("table", name0.getQualifierAsString());
|
||||
assertEquals("table", name0.getNameAsString());
|
||||
assertEquals("table", name1.getNamespaceAsString());
|
||||
assertEquals("table", name1.getQualifierAsString());
|
||||
assertEquals("table:table", name1.getNameAsString());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -102,7 +102,8 @@ public class TestHFileLink {
|
|||
TableName.NAMESPACE_DELIM, '=') + "=" + encodedRegion + "-" + storeFileName;
|
||||
|
||||
TableName tableNames[] = {TableName.valueOf("tableName1"),
|
||||
TableName.valueOf("ns", "tableName2")};
|
||||
TableName.valueOf("ns", "tableName2"),
|
||||
TableName.valueOf("refTable:refTable")};
|
||||
|
||||
for( TableName tableName : tableNames) {
|
||||
Path tableDir = FSUtils.getTableDir(rootDir, tableName);
|
||||
|
@ -112,7 +113,7 @@ public class TestHFileLink {
|
|||
//Verify back reference creation
|
||||
assertEquals(encodedRegion+"."+
|
||||
tableName.getNameAsString().replace(TableName.NAMESPACE_DELIM, '='),
|
||||
HFileLink.createBackReferenceName(tableName.getNameAsString(),
|
||||
HFileLink.createBackReferenceName(FSUtils.getTableName(tableDir).getNameAsString(),
|
||||
encodedRegion));
|
||||
|
||||
//verify parsing back reference
|
||||
|
|
Loading…
Reference in New Issue