ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dmitriy Setrakyan <dsetrak...@apache.org>
Subject Re: IgfsHadoopFileSystemWrapper naming.
Date Fri, 27 Feb 2015 13:35:29 GMT
If possible, I would get rid of Igfs API and just keep IgniteFs. It is very
confusing now.

D.

On Fri, Feb 27, 2015 at 8:31 AM, Vladimir Ozerov <vozerov@gridgain.com>
wrote:

> 1) "Igfs" is an interface with several common file-system methods like
> "create", "mkdirs", etc.
> 2) "IgniteFs" is extension of "Igfs" which adds some advanced methods like
> "execute()", "affinity()", etc. I.e. this is more feature-rich "Igfs".
>
> Earlier Igfs and IgniteFs were single interface called "GridGgfs". And
> GridGgfs worked with secondary Hadoop FileSystem directly. This approach
> had one drawback - GridGgfs wihch is located in core module had references
> to Hadoop libraries.
> To get rid of these dependencies we had to extract some common file-system
> methods from GridGgfs and name them "Igfs". And now secondary file system
> is not Hadoop FileSystem, but just another Igfs. And the rest
> Ignite-specific rich API is now in "IgniteFs".
>
> On Fri, Feb 27, 2015 at 3:52 PM, Dmitriy Setrakyan <dsetrakyan@apache.org>
> wrote:
>
> > Now I am even more confused. Why do we have IgniteFs and IGFS APIs? What
> is
> > the point of having Igfs? What is the difference between the two?
> >
> > D.
> >
> > On Fri, Feb 27, 2015 at 4:11 AM, Vladimir Ozerov <vozerov@gridgain.com>
> > wrote:
> >
> > > My proposal can be found above:
> > > > 1) *Igfs* is left as is - this is base interface;
> > > > 2) IgniteFS is renamed to "*IgniteIgfs*", meaning that this is
> Ignite's
> > > implementation of IGFS;
> > > > 3) IgfsHadoopFileSystemWrapper is renamed to "*HadoopIgfs*", meaning
> > that
> > > this another IGFS implementation which works over Hadoop FileSystem;
> > > > 4) IgfsHadoopFileSystem is renamed to *IgniteFileSystem*, meaning
> that
> > > this is Ignite's implementation of Hadoop FileSystem API.
> > >
> > > With such namings we will clearly indicate tow things:
> > > - Everything, what ends with "Igfs" is IGFS implementation (IgniteIgfs
> -
> > > our in-memory impl, HadoopIgfs - another impl working over Hadoop
> > > FileSystem);
> > > - Everything, what has "FileSystem" in name is Hadoop FileSystem
> > > implementation (IgniteFileSystem - *Ignite*'s implementation of
> > > *FileSystem*
> > > ).
> > >
> > > On Fri, Feb 27, 2015 at 8:44 AM, Dmitriy Setrakyan <
> > dsetrakyan@apache.org>
> > > wrote:
> > >
> > > > Something definitely smells about the naming here. It is vague and
> > > > confusing. If it is only used as a secondary file system
> configuration,
> > > > maybe we should name it as such.
> > > >
> > > > Can you propose another name?
> > > >
> > > > D.
> > > >
> > > > On Fri, Feb 27, 2015 at 12:39 AM, Vladimir Ozerov <
> > vozerov@gridgain.com>
> > > > wrote:
> > > >
> > > > > This wrapper is one of Igfs implementations. If user want to
> > configure
> > > > > secondary Igfs which is backed by Hadoop FileSystem, he should
> create
> > > > that
> > > > > "wrapper" and set it as "secondaryFIleSystem" in
> "IgfsConfiguration".
> > > > >
> > > > > On Fri, Feb 27, 2015 at 8:32 AM, Dmitriy Setrakyan <
> > > > dsetrakyan@apache.org>
> > > > > wrote:
> > > > >
> > > > > > Sounds like something is wrong. I am still not clear why should
> our
> > > > users
> > > > > > even know about the wrapper. Can you please explain?
> > > > > >
> > > > > > D.
> > > > > >
> > > > > > On Thu, Feb 26, 2015 at 8:56 AM, Vladimir Ozerov <
> > > vozerov@gridgain.com
> > > > >
> > > > > > wrote:
> > > > > >
> > > > > > > IgfsHadoopFileSystem is implementation of FileSystem (Hadoop
> > > > > interface).
> > > > > > > IgfsHadoopFileSystemWrapper is implementation of Igfs which
> > > delegates
> > > > > > IGFS
> > > > > > > API calls to underlying Hadoop FileSystem.
> > > > > > >
> > > > > > > On Thu, Feb 26, 2015 at 4:39 PM, Dmitriy Setrakyan <
> > > > > > dsetrakyan@apache.org>
> > > > > > > wrote:
> > > > > > >
> > > > > > > > Vova,
> > > > > > > >
> > > > > > > > I agree that it smells. Can you explain again the
difference
> > > > between
> > > > > > > > IgfsHadoopFileSystem and IgfsHadoopFileSystemWrapper?
> > > > > > > >
> > > > > > > > D.
> > > > > > > >
> > > > > > > > On Thu, Feb 26, 2015 at 5:21 AM, Vladimir Ozerov <
> > > > > vozerov@gridgain.com
> > > > > > >
> > > > > > > > wrote:
> > > > > > > >
> > > > > > > > > HI,
> > > > > > > > >
> > > > > > > > > Currently we have IgfsHadoopFileSystemWrapper
class whose
> > sole
> > > > > > purpose
> > > > > > > is
> > > > > > > > > to instantiate Hadoop FileSystem and delegate
Igfs calls to
> > it.
> > > > We
> > > > > > use
> > > > > > > > this
> > > > > > > > > class to configure secondary Hadoop file system
for Igfs.
> > > > > > > > >
> > > > > > > > > It seems to me that "Wrapper" is wrong suffix
here from
> user
> > > > > > > perspective,
> > > > > > > > > as this is not a wrapper, but a functional unit
which user
> > uses
> > > > in
> > > > > > > > > configuration. It does not "wraps" anything from
user point
> > of
> > > > > view.
> > > > > > > > >
> > > > > > > > > Furthermore, we do have public classes IgfsHadoopFileSystem
> > > which
> > > > > > have
> > > > > > > no
> > > > > > > > > realtion to IgfsHadoopFileSystemWrapper, what
will also
> > confuse
> > > > > > users.
> > > > > > > > >
> > > > > > > > > We need to think about another class name here.
May be
> > > > > > > > > "IgfsHadoopFileSystemDelegator" or something
like this?
> > > > > > > > >
> > > > > > > > > Any thoughts?
> > > > > > > > >
> > > > > > > > > Vladimir.
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message