Please see my last comment on the jira. We can make this work without breaking 
users who are using HDFS snapshots.



________________________________
 From: Ted Yu <yuzhih...@gmail.com>
To: d...@hbase.apache.org 
Cc: hdfs-dev@hadoop.apache.org; lars hofhansl <la...@apache.org> 
Sent: Tuesday, April 16, 2013 10:00 AM
Subject: Re: collision in the naming of '.snapshot' directory between hdfs 
snapshot and hbase snapshot
 


Let's get proper release notes for HBASE-8352 .

Either Lars or I can send out notification to user mailing list so that there 
is enough preparation for this change.

Cheers


On Tue, Apr 16, 2013 at 8:46 AM, Jonathan Hsieh <j...@cloudera.com> wrote:

I was away from keyboard when I asserted that hdfs snapshot was a hadoop
>2.1 or 3.0 feature.  Apparently it is targeted as a hadoop 2.0.5 feature.
> (I'm a little surprised -- expected this to be a hadoop2 compat breaking
>feature) -- so I agree that this is a bit more urgent.
>
>Anyway, I agree that the fs .snapshot naming convention is long standing
>and should win.
>
>My concern is with breaking compatibility in 0.94 again -- if we don't go
>down the conf variable route,  I consider having docs to properly document
>how to do the upgrade and caveats of doing the upgrade in the docs/release
>notes blocker to hbase 0.94.7.  (specifically mentioning from 0.94.6 to
>0.94.7, and to possibly to 0.95).
>
>Jon.
>
>On Mon, Apr 15, 2013 at 9:00 PM, Ted Yu <yuzhih...@gmail.com> wrote:
>
>> bq. Alternatively, we can detect the underlying Hadoop version, and use
>
>> either .snapshot or .hbase_snapshot in 0.94 depending on h1 & h2.
>>
>> I think this would introduce more confusion, especially for operations.
>>
>> Cheers
>>
>> On Mon, Apr 15, 2013 at 8:52 PM, Enis Söztutar <enis....@gmail.com> wrote:
>>
>> > Because HDFS exposes the snapshots so that the normal file system
>> > operations are mapped inside snapshot dirs, I think HDFS reserving the
>> > .snapshot name makes sense. OTOH, nothing is specific about the dir name
>> > that is chosen by HBase.
>> >
>> > I would prefer to change the dir name in 0.94 as well, since 0.94 is also
>> > being run on top of hadoop 2. Alternatively, we can detect the underlying
>> > Hadoop version, and use either .snapshot or .hbase_snapshot in 0.94
>> > depending on h1 & h2.
>> >
>> > Enis
>> >
>> >
>> > On Mon, Apr 15, 2013 at 8:31 PM, Ted Yu <yuzhih...@gmail.com> wrote:
>> >
>> > > bq. let's make the hbase snapshot for a conf variable.
>> > >
>> > > Once we decide on the new name of snapshot directory, we should still
>> use
>> > > hardcoded value. This aligns with current code base:
>> > > See this snippet from HConstants:
>> > >
>> > >   public static final List<String> HBASE_NON_TABLE_DIRS =
>> > >
>> > >     Collections.unmodifiableList(Arrays.asList(new String[] {
>> > > HREGION_LOGDIR_NAME,
>> > >
>> > >       HREGION_OLDLOGDIR_NAME, CORRUPT_DIR_NAME, SPLIT_LOGDIR_NAME,
>> > >
>> > >       HBCK_SIDELINEDIR_NAME, HFILE_ARCHIVE_DIRECTORY,
>> SNAPSHOT_DIR_NAME,
>> > > HBASE_TEMP_DIRECTORY }));
>> > > Cheers
>> > >
>> > > On Mon, Apr 15, 2013 at 8:24 PM, Jonathan Hsieh <j...@cloudera.com>
>> > wrote:
>> > >
>> > > > constraints:
>> > > >
>> > > > 1) hbase 0.94.6 is released and .snapshot is hardcoded in there.
>> > > > 2) hdfs snapshots is a Hadoop 2.1 or 3.0 feature. I doubt that it
>> will
>> > > ever
>> > > > make it to 1.x.  This hdfs feature ideally this shouldn't affect
>> > current
>> > > A
>> > > > pache Hbase 0.94.x's.
>> > > > 3) hbase 95/96 may default to Hadoop1 or Hadoop 2. these versions
>> > should
>> > > > pick a different table snapshot name to respect fs conventions.
>> > > >
>> > > > proposed actions:
>> > > >
>> > > > 1) let's make the hbase snapshot for a conf variable. (hbase.
>> > > > snapshots.dir)  let's change the default for hbase 95+. (maybe
>> > > > .hbase-snapshots). we'll also port this patch to 0.94.x
>> > > > 2) let's publish instructions on how to update the hbase snapshot
>> dir:
>> > > > shutdown hbase, config update, rename dir, restart hbase.
>> > > > 3) I lean towards leaving the current default hbase snapshot dir in
>> 94
>> > > > since it shouldn't be affected.  upgrading hbase to 95/96 will
>> require
>> > > > shutdown and update scripts so it seems like the ideal time to
>> > autoforce
>> > > > this default change.
>> > > >
>> > > > Thoughts?
>> > > >
>> > > >
>> > > > On Monday, April 15, 2013, lars hofhansl wrote:
>> > > >
>> > > > > OK. Let's try to fix that quickly, so that I can release HBase
>> > 0.94.7.
>> > > > >
>> > > > > -- Lars
>> > > > >
>> > > > >
>> > > > >
>> > > > > ________________________________
>> > > > >  From: Ted Yu <yuzhih...@gmail.com>
>> > > > > To: d...@hbase.apache.org; hdfs-dev@hadoop.apache.org
>> > > > > Sent: Monday, April 15, 2013 7:13 PM
>> > > > > Subject: collision in the naming of '.snapshot' directory between
>> > hdfs
>> > > > > snapshot and hbase snapshot
>> > > > >
>> > > > >
>> > > > > Hi,
>> > > > > This afternoon Huned ad I discovered an issue while playing with
>> > HBase
>> > > > > Snapshots on top of Hadoop's Snapshot branch (
>> > > > > http://svn.apache.org/viewvc/hadoop/common/branches/HDFS-2802/).
>> > > > >
>> > > > > HDFS (built from HDFS-2802 branch) doesn't allow paths with
>> .snapshot
>> > > as
>> > > > a
>> > > > > component while HBase tries to create paths with .snapshot as a
>> > > > component.
>> > > > > This leads to issues in HBase, and one of HDFS or HBase needs to
>> give
>> > > up
>> > > > > the .snapshot reserved keyword. HBase released Snapshots feature in
>> > > > 0.94.6
>> > > > > (quite recently) and it may not be too late to change HBase to use
>> a
>> > > > > different path component in an upcoming new release.
>> > > > >
>> > > > > In HBase these path names are not user visible. If there is a
>> > > deployment
>> > > > of
>> > > > > 0.94.6, one could provide a migration tool that renames .snapshot
>> to
>> > > > > .hbase-snapshot or something to be able to move to the Snapshot
>> > release
>> > > > of
>> > > > > Hadoop. On the other hand, .snapshot in HDFS is a user visible name
>> > and
>> > > > is
>> > > > > a convention that is used by many file systems. It's a matter of
>> > > > > familiarity with such path names that would help users in using
>> HDFS
>> > > > > snapshots.
>> > > > >
>> > > > > I am including the hdfs-dev in this email. Would appreciate if we
>> > could
>> > > > > work together and come up with a solution.
>> > > > >
>> > > > > You can find sample output from hdfs command here:
>> > > > > http://pastebin.com/bBqR4Fvr
>> > > > >
>> > > > > Cheers
>> > > >
>> > > >
>> > > >
>> > > > --
>> > > > // Jonathan Hsieh (shay)
>> > > > // Software Engineer, Cloudera
>> > > > // j...@cloudera.com
>> > > >
>> > >
>> >
>>
>
>
>
>--
>// Jonathan Hsieh (shay)
>// Software Engineer, Cloudera
>// j...@cloudera.com
>

Reply via email to