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 <[email protected]> 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 <[email protected]> > 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 < > [email protected]> > > 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 < > [email protected]> > > > 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 < > > > [email protected]> > > > > 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 < > > [email protected] > > > > > > > > > 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 < > > > > > [email protected]> > > > > > > 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 < > > > > [email protected] > > > > > > > > > > > > > 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. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
