hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hudson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (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
Date Mon, 04 Sep 2017 16:52:00 GMT

    [ https://issues.apache.org/jira/browse/HBASE-18743?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16152798#comment-16152798
] 

Hudson commented on HBASE-18743:
--------------------------------

FAILURE: Integrated in Jenkins build HBase-1.4 #901 (See [https://builds.apache.org/job/HBase-1.4/901/])
HBASE-18743 HFiles in use by a table which has the same name and (tedyu: rev c97f0f2f24ab760d61ac74d159ee4f47a7c7d2d6)
* (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/io/TestHFileLink.java
* (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/TestNamespace.java
* (edit) hbase-common/src/main/java/org/apache/hadoop/hbase/TableName.java


> 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
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-18743
>                 URL: https://issues.apache.org/jira/browse/HBASE-18743
>             Project: HBase
>          Issue Type: Bug
>          Components: hbase
>    Affects Versions: 1.1.12
>            Reporter: wenbang
>            Assignee: wenbang
>            Priority: Critical
>             Fix For: 1.4.0, 1.3.2, 1.5.0, 1.2.7, 2.0.0-alpha-3
>
>         Attachments: HBASE-18743-branch-1.patch, HBASE_18743.patch, HBASE_18743_v1.patch,
HBASE_18743_v2.patch
>
>
> We recently had a critical production issue in which HFiles that were still in use by
a table were deleted.
> This appears to have been caused by conditions in which table have the same namespace
and name with a default table cloned from snapshot.when snapshot and default table be deleted,HFiles
that are still in use may be deleted.
> For example:
> Table with default namespace is: "t1"
> The namespace of the new table is the same as the name of the default table, and is generated
by snapshot cloned : "t1: t1"
> When the snapshot and the default namespace table are deleted, the new table is also
deleted in the used HFiles
> This is because the creation of the BackReferenceFile get the table Name is not normal,
resulting in can not find the reference file, hfilecleaner to delete the HFiles in used, when
the table has not been major compact
> {code:java}
>   public static boolean create(final Configuration conf, final FileSystem fs,
>       final Path dstFamilyPath, final TableName linkedTable, final String linkedRegion,
>       final String hfileName, final boolean createBackRef) throws IOException {
>     String familyName = dstFamilyPath.getName();
>     String regionName = dstFamilyPath.getParent().getName();
>     String tableName = FSUtils.getTableName(dstFamilyPath.getParent().getParent())
>         .getNameAsString();
> {code}
> {code:java}
>   public static TableName getTableName(Path tablePath) {
>     return TableName.valueOf(tablePath.getParent().getName(), tablePath.getName());
>   }
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message