You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by Vladimir Ozerov <vo...@gridgain.com> on 2015/02/26 11:21:10 UTC

IgfsHadoopFileSystemWrapper naming.

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.

Re: IgfsHadoopFileSystemWrapper naming.

Posted by Vladimir Ozerov <vo...@gridgain.com>.
I think we have even more complex problem here. We have 4 possible meanings
of file system:
1) Igfs - thin public interface with base file system operations.
Essentially, the only place where it is needed in public API is secondary
file system configuration;
2) IgniteFS - rich public interface API with "execute()", "affinity" and
other advanced methods. Extends Igfs;
3) IgfsHadoopFileSystem (two classes - for Hadoop v1 and v2) - extension of
Hadoop "FileSystem" class;
4) IgfsHadoopFileSystemWrapper - implementation of Igfs which delegates
secondary FS calls to some Hadoop FileSystem.

I'm afraid user will have very hard time trying to understand meanings of
all that APIs. And there are other problems here:
- Hadoop FileSystem implementations typically do not have "Hadoop" in their
names because they already extend Hadoop class. E.e. "LocalFileSystem",
"S3FileSystem", "DistributedFileSystem", etc.).
- IgniteFS is inconsistent with other IGFS public classes. We have
"IgniteCompute" main class and related "Compute*" classes. We have
"IgniteCache" and related "Cache*" classes. And we have "IgniteFS" and
related "Igfs*" classes.

I think we must review all IGFS/Hadoop namings here. One idea on how to fix
that:
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.

Any thoughts?

On Thu, Feb 26, 2015 at 1:21 PM, Vladimir Ozerov <vo...@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.
>

Re: IgfsHadoopFileSystemWrapper naming.

Posted by Dmitriy Setrakyan <ds...@apache.org>.
I think I am OK with this. This will definitely fix the naming. I don't
think IgfsHadoopFileSystem will ever be used directly, so the methods you
are referring to will never be called.

D.

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

> How would you work with the secondary file system from Igfs in this case?
> Lets say, you run Hadoop jobs which delegate to our IGFS and you want to
> write-through the secondary file system. In this case we will have the
> following flow:
> 1) Hadoop -> FileSystem.get("igfs://") -> 2) IgfsHadoopFileSystem -> 3)
> IgniteFs -> 4) IgfsHadoopFileSystemWrapper -> 5) actual FileSystem.
>
> 1) Hadoop get's instance of a file system through static get() method.
> 2) We return our implementation of FileSystem called IgfsHadoopFileSystem.
> 3) This implementation actually delegates to IgniteFs
> 4) If secondary file system is configured, IgniteFs wirte/read-through the
> secondary Igfs, which is IgfsHadoopFileSystemWrapper in our case.
> 5) IgfsHadoopFileSystemWrapper, in turn, delegates to the real backing
> Hadoop file system.
>
> So, the problem is that:
> IgniteFs implements Igfs
> IgfsHadoopFileSystemWrapper implements Igfs
>
> If we remove Igfs, then we will have to do the following:
> "IgfsHadoopFileSystemWrapper extends IgniteFs" and all IgniteFs methods
> which are not in Igfs will be implemented as "throw new
> UnsupportedOperationException()". If we are ok with this, then let's remove
> Igfs.
>
> Vladimir.
>
> On Fri, Feb 27, 2015 at 4:35 PM, Dmitriy Setrakyan <ds...@apache.org>
> wrote:
>
> > 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 <vo...@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.
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Re: IgfsHadoopFileSystemWrapper naming.

Posted by Vladimir Ozerov <vo...@gridgain.com>.
How would you work with the secondary file system from Igfs in this case?
Lets say, you run Hadoop jobs which delegate to our IGFS and you want to
write-through the secondary file system. In this case we will have the
following flow:
1) Hadoop -> FileSystem.get("igfs://") -> 2) IgfsHadoopFileSystem -> 3)
IgniteFs -> 4) IgfsHadoopFileSystemWrapper -> 5) actual FileSystem.

1) Hadoop get's instance of a file system through static get() method.
2) We return our implementation of FileSystem called IgfsHadoopFileSystem.
3) This implementation actually delegates to IgniteFs
4) If secondary file system is configured, IgniteFs wirte/read-through the
secondary Igfs, which is IgfsHadoopFileSystemWrapper in our case.
5) IgfsHadoopFileSystemWrapper, in turn, delegates to the real backing
Hadoop file system.

So, the problem is that:
IgniteFs implements Igfs
IgfsHadoopFileSystemWrapper implements Igfs

If we remove Igfs, then we will have to do the following:
"IgfsHadoopFileSystemWrapper extends IgniteFs" and all IgniteFs methods
which are not in Igfs will be implemented as "throw new
UnsupportedOperationException()". If we are ok with this, then let's remove
Igfs.

Vladimir.

On Fri, Feb 27, 2015 at 4:35 PM, Dmitriy Setrakyan <ds...@apache.org>
wrote:

> 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 <vo...@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.
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Re: IgfsHadoopFileSystemWrapper naming.

Posted by Dmitriy Setrakyan <ds...@apache.org>.
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 <vo...@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 <ds...@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 <vo...@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.
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Re: IgfsHadoopFileSystemWrapper naming.

Posted by Vladimir Ozerov <vo...@gridgain.com>.
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 <ds...@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 <vo...@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.
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Re: IgfsHadoopFileSystemWrapper naming.

Posted by Dmitriy Setrakyan <ds...@apache.org>.
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 <vo...@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 <ds...@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 <vo...@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.
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Re: IgfsHadoopFileSystemWrapper naming.

Posted by Vladimir Ozerov <vo...@gridgain.com>.
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 <ds...@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 <vo...@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.
> > > > > >
> > > > >
> > > >
> > >
> >
>

Re: IgfsHadoopFileSystemWrapper naming.

Posted by Dmitriy Setrakyan <ds...@apache.org>.
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 <vo...@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 <ds...@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 <vo...@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.
> > > > >
> > > >
> > >
> >
>

Re: IgfsHadoopFileSystemWrapper naming.

Posted by Vladimir Ozerov <vo...@gridgain.com>.
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 <ds...@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 <vo...@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.
> > > >
> > >
> >
>

Re: IgfsHadoopFileSystemWrapper naming.

Posted by Dmitriy Setrakyan <ds...@apache.org>.
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 <vo...@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 <ds...@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 <vo...@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.
> > >
> >
>

Re: IgfsHadoopFileSystemWrapper naming.

Posted by Vladimir Ozerov <vo...@gridgain.com>.
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 <ds...@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 <vo...@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.
> >
>

Re: IgfsHadoopFileSystemWrapper naming.

Posted by Dmitriy Setrakyan <ds...@apache.org>.
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 <vo...@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.
>