Folks,

I am with Ilya here. I remind that we are talking not about general
case for Ignite usage. Generally IGNITE_HOME should be defined.
Otherwise we fallback to a default, and user.dir usually points to a
directory where java launcher command was called (work dir).

user.home seems to cause more surprises to me:
* user.home can be undefined for JVM;
* user.home can be not writable as well (e.g. some special service user).

And as far as know other vendors usually place files required for an
application in current work dir.

чт, 3 окт. 2019 г. в 01:45, Denis Magda <dma...@apache.org>:
>
> I was always expecting this to be a user *home* directory that can be
> resolved in any operating system and will work for any language supported
> by Ignite. So, I'm with Pavel here.
>
> Alex G, what's your thinking? Sounds like we need to change this one more
> time.
>
> -
> Denis
>
>
> On Wed, Oct 2, 2019 at 12:17 PM Pavel Tupitsyn <ptupit...@apache.org> wrote:
>
> > Everyone above agreed to `~/ignite/work`, then somehow we jumped to
> > `user.dir/ignite/work`.
> > To me `user.dir` looked like synonym for ~, but turns out this is not true.
> > I think others may be confused in the same way.
> >
> > Denis Magda, Alexey Goncharuk, and others - please confirm that you
> > understand that `user.dir` means current directory, not user home
> > directory.
> >
> > In my opinion, this is very broken. Current work dir can be literally
> > anything, e.g.:
> > `cd / && ~/my-ignite-app/run.sh` will cause an attempt to create ignite dir
> > in system root, and so on.
> >
> >
> >
> > On Wed, Oct 2, 2019 at 9:46 PM Ilya Kasnacheev <ilya.kasnach...@gmail.com>
> > wrote:
> >
> > > Hello!
> > >
> > > I think this is a sensible default and it was certainly not chosen by
> > > mistake. It was intentional expectation that your project is started from
> > > project root and data is located under it.
> > >
> > > If this breaks .Net, I am deeply sorry.
> > > However, I think we should change .net to provide non-default workdir
> > > location when none is specified.
> > >
> > > Can you please clarify scenarios that are broken now?
> > >
> > > Regards,
> > >
> > > ср, 2 окт. 2019 г., 20:28 Pavel Tupitsyn <ptupit...@apache.org>:
> > >
> > > > Igniters,
> > > >
> > > > Looks like we made a mistake while implementing IGNITE-12057:
> > > > `user.dir` is NOT user home directory, it is where JVM has been started
> > > > from, which is rather arbitrary.
> > > > (Among other things this breaks Ignite.NET usage from tools like
> > LINQPad,
> > > > because `user.dir` ends up pointing to Program Files, which is not
> > > > writable without elevation)
> > > >
> > > > We should use `user.home` system property instead, see
> > > >
> > >
> > https://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html
> > > >
> > > > Thoughts, objections?
> > > >
> > > > On Mon, Sep 2, 2019 at 1:57 PM Ilya Kasnacheev <
> > > ilya.kasnach...@gmail.com>
> > > > wrote:
> > > >
> > > > > Hello again!
> > > > >
> > > > > Please note that I have updated release notes for IGNITE-12057 as
> > well
> > > as
> > > > > added them for my ticket. Release Engineers, please make sure you
> > > include
> > > > > the latest one.
> > > > >
> > > > > Regards,
> > > > > --
> > > > > Ilya Kasnacheev
> > > > >
> > > > >
> > > > > пн, 2 сент. 2019 г. в 13:33, Ilya Kasnacheev <
> > > ilya.kasnach...@gmail.com
> > > > >:
> > > > >
> > > > > > Hello!
> > > > > >
> > > > > > I have pushed an amended fix to both master and ignite-2.7.6.
> > > > > >
> > > > > > Regards,
> > > > > > --
> > > > > > Ilya Kasnacheev
> > > > > >
> > > > > >
> > > > > > пт, 30 авг. 2019 г. в 21:48, Denis Magda <dma...@apache.org>:
> > > > > >
> > > > > >> Ilya,
> > > > > >>
> > > > > >> I forgot to push "Send for review" button. You can see my minor
> > > > comment
> > > > > >> now.
> > > > > >>
> > > > > >> -
> > > > > >> Denis
> > > > > >>
> > > > > >>
> > > > > >> On Fri, Aug 30, 2019 at 5:47 AM Ilya Kasnacheev <
> > > > > >> ilya.kasnach...@gmail.com>
> > > > > >> wrote:
> > > > > >>
> > > > > >> > Hello!
> > > > > >> >
> > > > > >> > Waiting for a minor comment from Denis, as soon as I see/fix it
> > > I'm
> > > > > >> going
> > > > > >> > to commit.
> > > > > >> >
> > > > > >> > Regards,
> > > > > >> > Ilya.
> > > > > >> > --
> > > > > >> > Ilya Kasnacheev
> > > > > >> >
> > > > > >> >
> > > > > >> > пт, 30 авг. 2019 г. в 11:30, Alexey Goncharuk <
> > > > > >> alexey.goncha...@gmail.com
> > > > > >> > >:
> > > > > >> >
> > > > > >> > > Hello Ilya,
> > > > > >> > >
> > > > > >> > > Just curious, when are you planning to commit your changes to
> > > the
> > > > > >> 2.7.6
> > > > > >> > > branch?
> > > > > >> > >
> > > > > >> > > ср, 28 авг. 2019 г. в 04:57, Denis Magda <dma...@apache.org>:
> > > > > >> > >
> > > > > >> > > > Ok, seems like we came to a consensus. Let’s ensure that the
> > > > path
> > > > > >> for
> > > > > >> > our
> > > > > >> > > > work dir is user.dir/ignite/work and restart the vote.
> > > > > >> > > >
> > > > > >> > > > Denis
> > > > > >> > > >
> > > > > >> > > > On Tuesday, August 27, 2019, Ilya Kasnacheev <
> > > > > >> > ilya.kasnach...@gmail.com>
> > > > > >> > > > wrote:
> > > > > >> > > >
> > > > > >> > > > > Hello!
> > > > > >> > > > >
> > > > > >> > > > > I have took the liberty to implement the change to
> > existing
> > > > code
> > > > > >> base
> > > > > >> > > to
> > > > > >> > > > > remove concern about work/ directory:
> > > > > >> > > > >
> > > > > >> > > > > https://github.com/apache/ignite/pull/6816/files
> > > > > >> > > > >
> > > > > >> > > > > Some advocacy for this patch:
> > > > > >> > > > > - Minimal change.
> > > > > >> > > > > - Storing in user.dir/ignite/work (current directory, e.g.
> > > > > project
> > > > > >> > > root)
> > > > > >> > > > > which is consistent with behavior of unzipped binary
> > > release.
> > > > > >> > > > > - We can re-use user.dir/ignite for other uses in the
> > > future,
> > > > > >> such as
> > > > > >> > > > > storing logs there.
> > > > > >> > > > >
> > > > > >> > > > > I have to admit that my previous reaction to the change
> > was
> > > > too
> > > > > >> > strong.
> > > > > >> > > > It
> > > > > >> > > > > turned out the default was user.dir/work (project root)
> > and
> > > > not
> > > > > >> > > > > user.home/work (home dir with imminent Work collision).
> > > > > >> > > > > Nevertheless, I think that after this change it would be
> > > good
> > > > > >> enough
> > > > > >> > to
> > > > > >> > > > > last for a few years.
> > > > > >> > > > >
> > > > > >> > > > > What do you think?
> > > > > >> > > > >
> > > > > >> > > > > Regards,
> > > > > >> > > > > --
> > > > > >> > > > > Ilya Kasnacheev
> > > > > >> > > > >
> > > > > >> > > > >
> > > > > >> > > > > вт, 27 авг. 2019 г. в 18:28, Alexey Goncharuk <
> > > > > >> > > > alexey.goncha...@gmail.com
> > > > > >> > > > > >:
> > > > > >> > > > >
> > > > > >> > > > > > In the current state of the project, we cannot directly
> > > > > compare
> > > > > >> > > Ignite
> > > > > >> > > > > > setup process to the one of postgresql or another
> > > database.
> > > > In
> > > > > >> many
> > > > > >> > > > > Ignite
> > > > > >> > > > > > examples, an embedded node (even with persistence) is
> > > > started
> > > > > >> and
> > > > > >> > it
> > > > > >> > > is
> > > > > >> > > > > > supposed to run without any additional FS rights grants
> > or
> > > > > init
> > > > > >> > > steps.
> > > > > >> > > > > This
> > > > > >> > > > > > may be changed in 3.0, but not in a maintenance release.
> > > If
> > > > we
> > > > > >> are
> > > > > >> > to
> > > > > >> > > > > > change the directory to /var/lib, I would rather fail
> > > Ignite
> > > > > >> node
> > > > > >> > > start
> > > > > >> > > > > > asking a user to explicitly provide work directory path.
> > > Let
> > > > > >> alone
> > > > > >> > > > > /var/lib
> > > > > >> > > > > > is not portable and I would not add an OS-switch to the
> > > code
> > > > > >> for no
> > > > > >> > > > > reason.
> > > > > >> > > > > >
> > > > > >> > > > > > I vote for storing the work in ~/ignite/work - agree
> > with
> > > > Ilya
> > > > > >> that
> > > > > >> > > > > writing
> > > > > >> > > > > > large amounts of data in a hidden folder is a bad idea.
> > > > > >> > > > > >
> > > > > >> > > > > > вт, 27 авг. 2019 г. в 15:17, Dmitriy Pavlov <
> > > > > dpav...@apache.org
> > > > > >> >:
> > > > > >> > > > > >
> > > > > >> > > > > > > Hi Igniters,
> > > > > >> > > > > > >
> > > > > >> > > > > > > I agree that user home maybe not the best place from
> > > Linux
> > > > > >> > > > perspective
> > > > > >> > > > > > and
> > > > > >> > > > > > > philosophy, but  "user.home"/ignite/work  is more or
> > > less
> > > > > >> > portable.
> > > > > >> > > > > > >
> > > > > >> > > > > > > For the Linux environment, we can add a suggestion
> > about
> > > > > >> where to
> > > > > >> > > > place
> > > > > >> > > > > > > persisted data. For very first testing of Apache
> > Ignite
> > > > user
> > > > > >> home
> > > > > >> > > > still
> > > > > >> > > > > > > looks good for me.
> > > > > >> > > > > > >
> > > > > >> > > > > > > Sincerely,
> > > > > >> > > > > > > Dmitriy Pavlov
> > > > > >> > > > > > >
> > > > > >> > > > > > > вт, 27 авг. 2019 г. в 11:56, Pavel Pereslegin <
> > > > > >> xxt...@gmail.com
> > > > > >> > >:
> > > > > >> > > > > > >
> > > > > >> > > > > > > > Or instead of a WARNING, we can add a suggestion
> > with
> > > a
> > > > > >> > > > > recommendation
> > > > > >> > > > > > > > for the production environment.
> > > > > >> > > > > > > >
> > > > > >> > > > > > > > вт, 27 авг. 2019 г. в 11:41, Petr Ivanov <
> > > > > >> mr.wei...@gmail.com
> > > > > >> > >:
> > > > > >> > > > > > > > >
> > > > > >> > > > > > > > > /opt is either does not exist on fresh system, or
> > > has
> > > > > the
> > > > > >> > same
> > > > > >> > > > > > > > restriction: no user access without admin
> > > intervention.
> > > > > >> > > > > > > > > /usr/local, /var/lib, etc. — all this is
> > implemented
> > > > in
> > > > > >> our
> > > > > >> > > DEB /
> > > > > >> > > > > RPM
> > > > > >> > > > > > > > packages already.
> > > > > >> > > > > > > > >
> > > > > >> > > > > > > > > For ZIP installation %HOME% seems to be the best
> > > > > approach
> > > > > >> for
> > > > > >> > > > > > "2-click"
> > > > > >> > > > > > > > launch.
> > > > > >> > > > > > > > > Later user can update preferences and set working
> > > dir
> > > > to
> > > > > >> > > whatever
> > > > > >> > > > > > > > directory he would like.
> > > > > >> > > > > > > > >
> > > > > >> > > > > > > > > Also — we can put WARNING message to log noting
> > that
> > > > > >> WORK_DIR
> > > > > >> > > is
> > > > > >> > > > > set
> > > > > >> > > > > > to
> > > > > >> > > > > > > > default.
> > > > > >> > > > > > > > >
> > > > > >> > > > > > > > > > On 27 Aug 2019, at 10:16, Zhenya Stanilovsky
> > > > > >> > > > > > > > <arzamas...@mail.ru.INVALID> wrote:
> > > > > >> > > > > > > > > >
> > > > > >> > > > > > > > > >
> > > > > >> > > > > > > > > > And what about /opt/ignite ?
> > > > > >> > > > > > > > > >
> > > > > >> > > > > > > > > > copy-paste:
> > > > > >> > > > > > > > > > "
> > > > > >> > > > > > > > > > The basic difference is that  /usr/local  is for
> > > > > >> software
> > > > > >> > not
> > > > > >> > > > > > managed
> > > > > >> > > > > > > > by the system packager, but still following the
> > > standard
> > > > > >> unix
> > > > > >> > > > > > deployment
> > > > > >> > > > > > > > rules.
> > > > > >> > > > > > > > > > That's why you have  /usr/local/bin ,
> > > > /usr/local/sbin
> > > > > >> > > > > > > >  /usr/local/include  etc...
> > > > > >> > > > > > > > > > /opt  on the other hand is for software that
> > > doesn't
> > > > > >> follow
> > > > > >> > > > this
> > > > > >> > > > > > and
> > > > > >> > > > > > > > is deployed in a monolithic fashion. This usually
> > > > includes
> > > > > >> > > > commercial
> > > > > >> > > > > > > > and/or cross-platform software that is packaged in
> > the
> > > > > >> > "Windows"
> > > > > >> > > > > > style. "
> > > > > >> > > > > > > > > >
> > > > > >> > > > > > > > > >
> > > > > >> > > > > > > > > >> Понедельник, 26 августа 2019, 22:49 +03:00 от
> > > Denis
> > > > > >> Magda
> > > > > >> > <
> > > > > >> > > > > > > > dma...@apache.org>:
> > > > > >> > > > > > > > > >>
> > > > > >> > > > > > > > > >> Igniters,
> > > > > >> > > > > > > > > >>
> > > > > >> > > > > > > > > >> I can't disagree with Nikolay that, as a
> > > database,
> > > > > >> Ignite
> > > > > >> > > > needs
> > > > > >> > > > > to
> > > > > >> > > > > > > > persist
> > > > > >> > > > > > > > > >> changes to a folder different from "user.home"
> > > one.
> > > > > But
> > > > > >> > with
> > > > > >> > > > the
> > > > > >> > > > > > > > current
> > > > > >> > > > > > > > > >> rate of project growth and adoption, I would
> > > > > encourage
> > > > > >> us
> > > > > >> > to
> > > > > >> > > > > > > > eliminate any
> > > > > >> > > > > > > > > >> possible obstacles a user might come across
> > > during
> > > > > the
> > > > > >> > > getting
> > > > > >> > > > > > > started
> > > > > >> > > > > > > > > >> phase with Ignite. Unfortunately, folders
> > > different
> > > > > >> from
> > > > > >> > > > > > "user.home"
> > > > > >> > > > > > > > imply
> > > > > >> > > > > > > > > >> a significant restriction - the user needs to
> > > allow
> > > > > >> access
> > > > > >> > > to
> > > > > >> > > > > > > folders
> > > > > >> > > > > > > > like
> > > > > >> > > > > > > > > >> /lib, /etc; which can make every getting
> > started
> > > > demo
> > > > > >> or
> > > > > >> > app
> > > > > >> > > > > fail.
> > > > > >> > > > > > > > > >>
> > > > > >> > > > > > > > > >> Thus, today, I'm casting my vote for
> > > > > >> > "user.home"/ignite/work
> > > > > >> > > > > > > > directory.
> > > > > >> > > > > > > > > >> Please don't forget about Windows and MacOS.
> > > > > >> > > > > > > > > >>
> > > > > >> > > > > > > > > >> -
> > > > > >> > > > > > > > > >> Denis
> > > > > >> > > > > > > > > >>
> > > > > >> > > > > > > > > >>
> > > > > >> > > > > > > > > >> On Mon, Aug 26, 2019 at 7:09 AM Pavel Tupitsyn
> > <
> > > > > >> > > > > > > ptupit...@apache.org
> > > > > >> > > > > > > > > wrote:
> > > > > >> > > > > > > > > >>
> > > > > >> > > > > > > > > >>> +1 for  ~/.ignite/work
> > > > > >> > > > > > > > > >>>
> > > > > >> > > > > > > > > >>> As Petr mentioned above, this translates well
> > to
> > > > > >> Windows
> > > > > >> > > and
> > > > > >> > > > > > MacOS
> > > > > >> > > > > > > > too, we
> > > > > >> > > > > > > > > >>> can use "home directory" term in documentation
> > > and
> > > > > it
> > > > > >> > works
> > > > > >> > > > for
> > > > > >> > > > > > any
> > > > > >> > > > > > > > OS.
> > > > > >> > > > > > > > > >>>
> > > > > >> > > > > > > > > >>> On Mon, Aug 26, 2019 at 4:03 PM Nikolay
> > Izhikov
> > > <
> > > > > >> > > > > > > > nizhi...@apache.org >
> > > > > >> > > > > > > > > >>> wrote:
> > > > > >> > > > > > > > > >>>
> > > > > >> > > > > > > > > >>>> AFAIK server admin expects software will
> > store
> > > > it's
> > > > > >> data
> > > > > >> > > in
> > > > > >> > > > > > /var/
> > > > > >> > > > > > > > > >>>> directory, not in /home directory.
> > > > > >> > > > > > > > > >>>>
> > > > > >> > > > > > > > > >>>>> In Docker age, packages are becoming
> > extinct.
> > > > > >> > > > > > > > > >>>>
> > > > > >> > > > > > > > > >>>> I don't agree with that, but seems, it's not
> > a
> > > > > >> subject
> > > > > >> > of
> > > > > >> > > > > > > > discussion. :)
> > > > > >> > > > > > > > > >>>>
> > > > > >> > > > > > > > > >>>>> we don't even have very good packages today
> > > > > >> > > > > > > > > >>>>
> > > > > >> > > > > > > > > >>>> Why do you think we don't have good packages?
> > > > > >> > > > > > > > > >>>> What is wrong with the current one?
> > > > > >> > > > > > > > > >>>>
> > > > > >> > > > > > > > > >>>>> I also think we should not copy what other
> > > DBMS
> > > > do
> > > > > >> > since
> > > > > >> > > > > their
> > > > > >> > > > > > > > > >>>> ease-of-use
> > > > > >> > > > > > > > > >>>>> is usually lacking
> > > > > >> > > > > > > > > >>>>
> > > > > >> > > > > > > > > >>>> We should define 'easy-of-use' here.
> > > > > >> > > > > > > > > >>>> My experience with the modern dbms(postgres
> > and
> > > > > >> mysql)
> > > > > >> > is
> > > > > >> > > > > > > different.
> > > > > >> > > > > > > > > >>>>
> > > > > >> > > > > > > > > >>>>
> > > > > >> > > > > > > > > >>>> В Пн, 26/08/2019 в 15:47 +0300, Ilya
> > Kasnacheev
> > > > > >> пишет:
> > > > > >> > > > > > > > > >>>>> Hello!
> > > > > >> > > > > > > > > >>>>>
> > > > > >> > > > > > > > > >>>>> I think it is 2., because if a node is run
> > > from
> > > > > >> Ignite
> > > > > >> > > > binary
> > > > > >> > > > > > > > > >>>> distribution
> > > > > >> > > > > > > > > >>>>> it has its root as a ignite work directory.
> > I
> > > > > think
> > > > > >> it
> > > > > >> > it
> > > > > >> > > > > > another
> > > > > >> > > > > > > > > >>>> argument
> > > > > >> > > > > > > > > >>>>> for keeping data under current dir - Ignite
> > > > binary
> > > > > >> > > > > distribution
> > > > > >> > > > > > > > already
> > > > > >> > > > > > > > > >>>>> does it, why should embedded scenario be
> > > > > different?
> > > > > >> > > > > > > > > >>>>>
> > > > > >> > > > > > > > > >>>>> In Docker age, packages are becoming
> > extinct.
> > > > > Nobody
> > > > > >> > > wants
> > > > > >> > > > > them
> > > > > >> > > > > > > > > >>> anymore,
> > > > > >> > > > > > > > > >>>>> anyway. I don't see why we should aim for
> > > those
> > > > > >> since
> > > > > >> > we
> > > > > >> > > > > don't
> > > > > >> > > > > > > even
> > > > > >> > > > > > > > > >>> have
> > > > > >> > > > > > > > > >>>>> very good packages today, and nobody wants
> > to
> > > > > >> > contribute
> > > > > >> > > > > > towards
> > > > > >> > > > > > > > their
> > > > > >> > > > > > > > > >>>>> improvement.
> > > > > >> > > > > > > > > >>>>>
> > > > > >> > > > > > > > > >>>>> I also think we should not copy what other
> > > DBMS
> > > > do
> > > > > >> > since
> > > > > >> > > > > their
> > > > > >> > > > > > > > > >>>> ease-of-use
> > > > > >> > > > > > > > > >>>>> is usually lacking (this is from someone who
> > > had
> > > > > to
> > > > > >> > > support
> > > > > >> > > > > > mysql
> > > > > >> > > > > > > > and
> > > > > >> > > > > > > > > >>>> pgsql
> > > > > >> > > > > > > > > >>>>> deployments).
> > > > > >> > > > > > > > > >>>>>
> > > > > >> > > > > > > > > >>>>> Regards,
> > > > > >> > > > > > > > > >>>>
> > > > > >> > > > > > > > > >>>
> > > > > >> > > > > > > > > >
> > > > > >> > > > > > > > > >
> > > > > >> > > > > > > > > > --
> > > > > >> > > > > > > > > > Zhenya Stanilovsky
> > > > > >> > > > > > > > >
> > > > > >> > > > > > > >
> > > > > >> > > > > > >
> > > > > >> > > > > >
> > > > > >> > > > >
> > > > > >> > > >
> > > > > >> > > >
> > > > > >> > > > --
> > > > > >> > > > -
> > > > > >> > > > Denis
> > > > > >> > > >
> > > > > >> > >
> > > > > >> >
> > > > > >>
> > > > > >
> > > > >
> > > >
> > >
> >



-- 
Best regards,
Ivan Pavlukhin

Reply via email to