[
https://issues.apache.org/jira/browse/HBASE-9445?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13759528#comment-13759528
]
Enis Soztutar commented on HBASE-9445:
--------------------------------------
bq. I don't think think doing the mkdir is the solution ... These tests that
are not using SnapshotReferenceUtil making assumptions on the fs layout are the
ones that are blocking HBASE-7987
I think the correct solution for this is not even HBASE-7987, but finishing up
hardlinks in hdfs, and properly creating snapshot files sharing the same actual
blocks with the hfiles. Given that we don't have this for now, I think we
should replicate the same directory structure (including family dirs) in
snapshot dirs. If we end up doing HBASE-7987, this patch will become obsolete,
which is fine.
> Snapshots should create column family dirs for empty regions
> ------------------------------------------------------------
>
> Key: HBASE-9445
> URL: https://issues.apache.org/jira/browse/HBASE-9445
> Project: HBase
> Issue Type: Bug
> Components: snapshots
> Reporter: Enis Soztutar
> Assignee: Enis Soztutar
> Fix For: 0.98.0, 0.96.0
>
> Attachments: hbase-9445_v1.patch, hbase-9445_v2.patch
>
>
> Currently, taking a snapshot will not create the family directory under a
> region if the family does not have any files in it.
> Subsequent verification fails because of this. There is some logic in the
> SnapshotTestingUtils.confirmSnapshotValid() to deal with empty family
> directories, but I think we should create the family directories regardless
> of whether there are any hfiles referencing them.
> {code}
> 2013-09-05 11:07:21,566 DEBUG [Thread-208] util.FSUtils(1687): |-data/
> 2013-09-05 11:07:21,567 DEBUG [Thread-208] util.FSUtils(1687): |----default/
> 2013-09-05 11:07:21,568 DEBUG [Thread-208] util.FSUtils(1687): |-------test/
> 2013-09-05 11:07:21,569 DEBUG [Thread-208] util.FSUtils(1687):
> |----------.tabledesc/
> 2013-09-05 11:07:21,570 DEBUG [Thread-208] util.FSUtils(1690):
> |-------------.tableinfo.0000000001
> 2013-09-05 11:07:21,570 DEBUG [Thread-208] util.FSUtils(1687):
> |----------.tmp/
> 2013-09-05 11:07:21,571 DEBUG [Thread-208] util.FSUtils(1687):
> |----------accd6e55887057888de758df44dacda7/
> 2013-09-05 11:07:21,572 DEBUG [Thread-208] util.FSUtils(1690):
> |-------------.regioninfo
> 2013-09-05 11:07:21,572 DEBUG [Thread-208] util.FSUtils(1687):
> |-------------fam/
> 2013-09-05 11:07:21,555 DEBUG [Thread-208] util.FSUtils(1687):
> |-.hbase-snapshot/
> 2013-09-05 11:07:21,556 DEBUG [Thread-208] util.FSUtils(1687): |----.tmp/
> 2013-09-05 11:07:21,557 DEBUG [Thread-208] util.FSUtils(1687):
> |----offlineTableSnapshot/
> 2013-09-05 11:07:21,558 DEBUG [Thread-208] util.FSUtils(1690):
> |-------.snapshotinfo
> 2013-09-05 11:07:21,558 DEBUG [Thread-208] util.FSUtils(1687):
> |-------.tabledesc/
> 2013-09-05 11:07:21,558 DEBUG [Thread-208] util.FSUtils(1690):
> |----------.tableinfo.0000000001
> 2013-09-05 11:07:21,559 DEBUG [Thread-208] util.FSUtils(1687): |-------.tmp/
> 2013-09-05 11:07:21,559 DEBUG [Thread-208] util.FSUtils(1687):
> |-------accd6e55887057888de758df44dacda7/
> 2013-09-05 11:07:21,560 DEBUG [Thread-208] util.FSUtils(1690):
> |----------.regioninfo
> {code}
> I think this is important for 0.96.0.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira