I have finished reviewing the 20-page patch for namespaces (HBASE-8015) and
security for NSs(HBASE-8049) and wanted to drop a couple of quick notes.
Here is an overview of the changes in case you are not following closely:
- There is a new TableName class which encapsulates namespace name, and
- Fully qualified table names are constructed with delimiter ":", as in
namespace:table. We use a different delimiter (= sign) in hfile links
- As far as I can tell from the patch, there is no need for extensive
testing on biggish clusters. There are not much change that would affect
how HBase scales on bigger clusters (most notably AM / HMaster changes)
- There will be a default namespace which will have the migrated tables,
and a system namespace called hbase. META will be renamed "hbase.meta"
- File layout on the file system is changing. The structure will be
hbase.rootdir/data/namespace/table. (See follow up issue: HBASE-9128)
- There is a migration script called NamespaceUpgrade that has to be run
for 0.94->0.96. We can address the running of this tool from migration
script or automatically running it in HBASE-9134.
- In terms of how we are approaching the merge in, I think we do not need
to wait for all subtasks to complete before rolling out 0.95.2, but only
finalize the main and security patches (HBASE-8408 and HBASE-9128). I am
confident that we can address the remaining subtasks quickly once these get
in, and before 0.96 comes out.
Francis has been doing a very good job of addressing the review comments so
far and I expect we would get this in before 0.95.2. However, I won't be
around much for the next 2 weeks, so I cannot do the honors for committing
the final version unfortunately.
However, here is my +1 for the patch at HBASE-8408, with the condition that
some outstanding comments are addressed and tests pass. I am confident that
we can iron out all of the issues before 0.96.