[
https://issues.apache.org/jira/browse/HBASE-9445?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13759505#comment-13759505
]
Matteo Bertozzi commented on HBASE-9445:
----------------------------------------
v2 looks good to me.
but I'm +0, I don't think think doing the mkdir is the solution.
The problem is that confirmSnapshotValid() that tries to verify a snapshot in a
wrong way.
For me the fix is just removing the assertTrue() that expects the dir and use
the listStatus (with a fix for the NPE).
{code}
assertTrue("Expected to find: " + familyDir + ", but it doesn't exist",
fs.exists(familyDir));
// make sure we have some files references
assertTrue(fs.listStatus(familyDir).length > 0);
{code}
These tests that are not using SnapshotReferenceUtil making assumptions on the
fs layout are the ones that are blocking HBASE-7987
> 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