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:
tedyu 2017-09-03 07:11:16 -07:00
parent a37417c254
commit c762753b4b
2 changed files with 4 additions and 3 deletions

View File

@ -413,7 +413,7 @@ public final class TableName implements Comparable<TableName> {
for (TableName tn : tableCache) { for (TableName tn : tableCache) {
if (qualifierAsString.equals(tn.getQualifierAsString()) && if (qualifierAsString.equals(tn.getQualifierAsString()) &&
namespaceAsString.equals(tn.getNameAsString())) { namespaceAsString.equals(tn.getNamespaceAsString())) {
return tn; return tn;
} }
} }

View File

@ -106,7 +106,8 @@ public class TestHFileLink {
TableName.NAMESPACE_DELIM, '=') + "=" + encodedRegion + "-" + storeFileName; TableName.NAMESPACE_DELIM, '=') + "=" + encodedRegion + "-" + storeFileName;
TableName tableNames[] = {TableName.valueOf(name.getMethodName() + "1"), TableName tableNames[] = {TableName.valueOf(name.getMethodName() + "1"),
TableName.valueOf("ns", name.getMethodName() + "2")}; TableName.valueOf("ns", name.getMethodName() + "2"),
TableName.valueOf(name.getMethodName()+ ":" +name.getMethodName())};
for( TableName tableName : tableNames) { for( TableName tableName : tableNames) {
Path tableDir = FSUtils.getTableDir(rootDir, tableName); Path tableDir = FSUtils.getTableDir(rootDir, tableName);
@ -116,7 +117,7 @@ public class TestHFileLink {
//Verify back reference creation //Verify back reference creation
assertEquals(encodedRegion+"."+ assertEquals(encodedRegion+"."+
tableName.getNameAsString().replace(TableName.NAMESPACE_DELIM, '='), tableName.getNameAsString().replace(TableName.NAMESPACE_DELIM, '='),
HFileLink.createBackReferenceName(tableName.getNameAsString(), HFileLink.createBackReferenceName(FSUtils.getTableName(tableDir).getNameAsString(),
encodedRegion)); encodedRegion));
//verify parsing back reference //verify parsing back reference