Replacing default work dir from tmp to current dir

classic Classic list List threaded Threaded
65 messages Options
1234
Reply | Threaded
Open this post in threaded view
|

Re: Replacing default work dir from tmp to current dir

Alexey Goncharuk
Hello Ilya,

Just curious, when are you planning to commit your changes to the 2.7.6
branch?

ср, 28 авг. 2019 г. в 04:57, Denis Magda <[hidden email]>:

> 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 <[hidden email]>
> 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 <
> [hidden email]
> > >:
> >
> > > 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 <[hidden email]>:
> > >
> > > > 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 <[hidden email]>:
> > > >
> > > > > Or instead of a WARNING, we can add a suggestion with a
> > recommendation
> > > > > for the production environment.
> > > > >
> > > > > вт, 27 авг. 2019 г. в 11:41, Petr Ivanov <[hidden email]>:
> > > > > >
> > > > > > /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
> > > > > <[hidden email]> 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 <
> > > > > [hidden email]>:
> > > > > > >>
> > > > > > >> 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 <
> > > > [hidden email]
> > > > > > 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 <
> > > > > [hidden email] >
> > > > > > >>> 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
>
Reply | Threaded
Open this post in threaded view
|

Re: Replacing default work dir from tmp to current dir

Ilya Kasnacheev
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 <[hidden email]>:

> Hello Ilya,
>
> Just curious, when are you planning to commit your changes to the 2.7.6
> branch?
>
> ср, 28 авг. 2019 г. в 04:57, Denis Magda <[hidden email]>:
>
> > 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 <[hidden email]>
> > 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 <
> > [hidden email]
> > > >:
> > >
> > > > 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 <[hidden email]>:
> > > >
> > > > > 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 <[hidden email]>:
> > > > >
> > > > > > Or instead of a WARNING, we can add a suggestion with a
> > > recommendation
> > > > > > for the production environment.
> > > > > >
> > > > > > вт, 27 авг. 2019 г. в 11:41, Petr Ivanov <[hidden email]>:
> > > > > > >
> > > > > > > /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
> > > > > > <[hidden email]> 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 <
> > > > > > [hidden email]>:
> > > > > > > >>
> > > > > > > >> 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 <
> > > > > [hidden email]
> > > > > > > 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 <
> > > > > > [hidden email] >
> > > > > > > >>> 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
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: Replacing default work dir from tmp to current dir

dmagda
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 <[hidden email]>
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 <[hidden email]
> >:
>
> > Hello Ilya,
> >
> > Just curious, when are you planning to commit your changes to the 2.7.6
> > branch?
> >
> > ср, 28 авг. 2019 г. в 04:57, Denis Magda <[hidden email]>:
> >
> > > 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 <
> [hidden email]>
> > > 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 <
> > > [hidden email]
> > > > >:
> > > >
> > > > > 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 <[hidden email]>:
> > > > >
> > > > > > 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 <[hidden email]
> >:
> > > > > >
> > > > > > > Or instead of a WARNING, we can add a suggestion with a
> > > > recommendation
> > > > > > > for the production environment.
> > > > > > >
> > > > > > > вт, 27 авг. 2019 г. в 11:41, Petr Ivanov <[hidden email]
> >:
> > > > > > > >
> > > > > > > > /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
> > > > > > > <[hidden email]> 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
> <
> > > > > > > [hidden email]>:
> > > > > > > > >>
> > > > > > > > >> 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 <
> > > > > > [hidden email]
> > > > > > > > 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 <
> > > > > > > [hidden email] >
> > > > > > > > >>> 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
> > >
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: Replacing default work dir from tmp to current dir

Ilya Kasnacheev
Hello!

I have pushed an amended fix to both master and ignite-2.7.6.

Regards,
--
Ilya Kasnacheev


пт, 30 авг. 2019 г. в 21:48, Denis Magda <[hidden email]>:

> 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 <[hidden email]
> >
> 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 <
> [hidden email]
> > >:
> >
> > > Hello Ilya,
> > >
> > > Just curious, when are you planning to commit your changes to the 2.7.6
> > > branch?
> > >
> > > ср, 28 авг. 2019 г. в 04:57, Denis Magda <[hidden email]>:
> > >
> > > > 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 <
> > [hidden email]>
> > > > 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 <
> > > > [hidden email]
> > > > > >:
> > > > >
> > > > > > 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 <[hidden email]
> >:
> > > > > >
> > > > > > > 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 <
> [hidden email]
> > >:
> > > > > > >
> > > > > > > > Or instead of a WARNING, we can add a suggestion with a
> > > > > recommendation
> > > > > > > > for the production environment.
> > > > > > > >
> > > > > > > > вт, 27 авг. 2019 г. в 11:41, Petr Ivanov <
> [hidden email]
> > >:
> > > > > > > > >
> > > > > > > > > /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
> > > > > > > > <[hidden email]> 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
> > <
> > > > > > > > [hidden email]>:
> > > > > > > > > >>
> > > > > > > > > >> 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 <
> > > > > > > [hidden email]
> > > > > > > > > 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 <
> > > > > > > > [hidden email] >
> > > > > > > > > >>> 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
> > > >
> > >
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: Replacing default work dir from tmp to current dir

Ilya Kasnacheev
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 <[hidden email]>:

> Hello!
>
> I have pushed an amended fix to both master and ignite-2.7.6.
>
> Regards,
> --
> Ilya Kasnacheev
>
>
> пт, 30 авг. 2019 г. в 21:48, Denis Magda <[hidden email]>:
>
>> 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 <
>> [hidden email]>
>> 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 <
>> [hidden email]
>> > >:
>> >
>> > > Hello Ilya,
>> > >
>> > > Just curious, when are you planning to commit your changes to the
>> 2.7.6
>> > > branch?
>> > >
>> > > ср, 28 авг. 2019 г. в 04:57, Denis Magda <[hidden email]>:
>> > >
>> > > > 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 <
>> > [hidden email]>
>> > > > 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 <
>> > > > [hidden email]
>> > > > > >:
>> > > > >
>> > > > > > 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 <[hidden email]
>> >:
>> > > > > >
>> > > > > > > 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 <
>> [hidden email]
>> > >:
>> > > > > > >
>> > > > > > > > Or instead of a WARNING, we can add a suggestion with a
>> > > > > recommendation
>> > > > > > > > for the production environment.
>> > > > > > > >
>> > > > > > > > вт, 27 авг. 2019 г. в 11:41, Petr Ivanov <
>> [hidden email]
>> > >:
>> > > > > > > > >
>> > > > > > > > > /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
>> > > > > > > > <[hidden email]> 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
>> > <
>> > > > > > > > [hidden email]>:
>> > > > > > > > > >>
>> > > > > > > > > >> 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 <
>> > > > > > > [hidden email]
>> > > > > > > > > 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 <
>> > > > > > > > [hidden email] >
>> > > > > > > > > >>> 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
>> > > >
>> > >
>> >
>>
>
Reply | Threaded
Open this post in threaded view
|

Re: Replacing default work dir from tmp to current dir

Pavel Tupitsyn
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 <[hidden email]>
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 <[hidden email]>:
>
> > Hello!
> >
> > I have pushed an amended fix to both master and ignite-2.7.6.
> >
> > Regards,
> > --
> > Ilya Kasnacheev
> >
> >
> > пт, 30 авг. 2019 г. в 21:48, Denis Magda <[hidden email]>:
> >
> >> 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 <
> >> [hidden email]>
> >> 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 <
> >> [hidden email]
> >> > >:
> >> >
> >> > > Hello Ilya,
> >> > >
> >> > > Just curious, when are you planning to commit your changes to the
> >> 2.7.6
> >> > > branch?
> >> > >
> >> > > ср, 28 авг. 2019 г. в 04:57, Denis Magda <[hidden email]>:
> >> > >
> >> > > > 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 <
> >> > [hidden email]>
> >> > > > 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 <
> >> > > > [hidden email]
> >> > > > > >:
> >> > > > >
> >> > > > > > 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 <
> [hidden email]
> >> >:
> >> > > > > >
> >> > > > > > > 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 <
> >> [hidden email]
> >> > >:
> >> > > > > > >
> >> > > > > > > > Or instead of a WARNING, we can add a suggestion with a
> >> > > > > recommendation
> >> > > > > > > > for the production environment.
> >> > > > > > > >
> >> > > > > > > > вт, 27 авг. 2019 г. в 11:41, Petr Ivanov <
> >> [hidden email]
> >> > >:
> >> > > > > > > > >
> >> > > > > > > > > /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
> >> > > > > > > > <[hidden email]> 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
> >> > <
> >> > > > > > > > [hidden email]>:
> >> > > > > > > > > >>
> >> > > > > > > > > >> 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 <
> >> > > > > > > [hidden email]
> >> > > > > > > > > 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 <
> >> > > > > > > > [hidden email] >
> >> > > > > > > > > >>> 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
> >> > > >
> >> > >
> >> >
> >>
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: Replacing default work dir from tmp to current dir

Ilya Kasnacheev
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 <[hidden email]>:

> 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 <[hidden email]>
> 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 <[hidden email]
> >:
> >
> > > Hello!
> > >
> > > I have pushed an amended fix to both master and ignite-2.7.6.
> > >
> > > Regards,
> > > --
> > > Ilya Kasnacheev
> > >
> > >
> > > пт, 30 авг. 2019 г. в 21:48, Denis Magda <[hidden email]>:
> > >
> > >> 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 <
> > >> [hidden email]>
> > >> 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 <
> > >> [hidden email]
> > >> > >:
> > >> >
> > >> > > Hello Ilya,
> > >> > >
> > >> > > Just curious, when are you planning to commit your changes to the
> > >> 2.7.6
> > >> > > branch?
> > >> > >
> > >> > > ср, 28 авг. 2019 г. в 04:57, Denis Magda <[hidden email]>:
> > >> > >
> > >> > > > 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 <
> > >> > [hidden email]>
> > >> > > > 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 <
> > >> > > > [hidden email]
> > >> > > > > >:
> > >> > > > >
> > >> > > > > > 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 <
> > [hidden email]
> > >> >:
> > >> > > > > >
> > >> > > > > > > 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 <
> > >> [hidden email]
> > >> > >:
> > >> > > > > > >
> > >> > > > > > > > Or instead of a WARNING, we can add a suggestion with a
> > >> > > > > recommendation
> > >> > > > > > > > for the production environment.
> > >> > > > > > > >
> > >> > > > > > > > вт, 27 авг. 2019 г. в 11:41, Petr Ivanov <
> > >> [hidden email]
> > >> > >:
> > >> > > > > > > > >
> > >> > > > > > > > > /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
> > >> > > > > > > > <[hidden email]> 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
> > >> > <
> > >> > > > > > > > [hidden email]>:
> > >> > > > > > > > > >>
> > >> > > > > > > > > >> 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 <
> > >> > > > > > > [hidden email]
> > >> > > > > > > > > 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 <
> > >> > > > > > > > [hidden email] >
> > >> > > > > > > > > >>> 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
> > >> > > >
> > >> > >
> > >> >
> > >>
> > >
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: Replacing default work dir from tmp to current dir

Pavel Tupitsyn
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 <[hidden email]>
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 <[hidden email]>:
>
> > 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 <
> [hidden email]>
> > 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 <
> [hidden email]
> > >:
> > >
> > > > Hello!
> > > >
> > > > I have pushed an amended fix to both master and ignite-2.7.6.
> > > >
> > > > Regards,
> > > > --
> > > > Ilya Kasnacheev
> > > >
> > > >
> > > > пт, 30 авг. 2019 г. в 21:48, Denis Magda <[hidden email]>:
> > > >
> > > >> 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 <
> > > >> [hidden email]>
> > > >> 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 <
> > > >> [hidden email]
> > > >> > >:
> > > >> >
> > > >> > > Hello Ilya,
> > > >> > >
> > > >> > > Just curious, when are you planning to commit your changes to
> the
> > > >> 2.7.6
> > > >> > > branch?
> > > >> > >
> > > >> > > ср, 28 авг. 2019 г. в 04:57, Denis Magda <[hidden email]>:
> > > >> > >
> > > >> > > > 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 <
> > > >> > [hidden email]>
> > > >> > > > 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 <
> > > >> > > > [hidden email]
> > > >> > > > > >:
> > > >> > > > >
> > > >> > > > > > 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 <
> > > [hidden email]
> > > >> >:
> > > >> > > > > >
> > > >> > > > > > > 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 <
> > > >> [hidden email]
> > > >> > >:
> > > >> > > > > > >
> > > >> > > > > > > > Or instead of a WARNING, we can add a suggestion with
> a
> > > >> > > > > recommendation
> > > >> > > > > > > > for the production environment.
> > > >> > > > > > > >
> > > >> > > > > > > > вт, 27 авг. 2019 г. в 11:41, Petr Ivanov <
> > > >> [hidden email]
> > > >> > >:
> > > >> > > > > > > > >
> > > >> > > > > > > > > /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
> > > >> > > > > > > > <[hidden email]> 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
> > > >> > <
> > > >> > > > > > > > [hidden email]>:
> > > >> > > > > > > > > >>
> > > >> > > > > > > > > >> 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 <
> > > >> > > > > > > [hidden email]
> > > >> > > > > > > > > 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
> <
> > > >> > > > > > > > [hidden email] >
> > > >> > > > > > > > > >>> 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
> > > >> > > >
> > > >> > >
> > > >> >
> > > >>
> > > >
> > >
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: Replacing default work dir from tmp to current dir

dmagda
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 <[hidden email]> 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 <[hidden email]>
> 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 <[hidden email]>:
> >
> > > 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 <
> > [hidden email]>
> > > 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 <
> > [hidden email]
> > > >:
> > > >
> > > > > Hello!
> > > > >
> > > > > I have pushed an amended fix to both master and ignite-2.7.6.
> > > > >
> > > > > Regards,
> > > > > --
> > > > > Ilya Kasnacheev
> > > > >
> > > > >
> > > > > пт, 30 авг. 2019 г. в 21:48, Denis Magda <[hidden email]>:
> > > > >
> > > > >> 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 <
> > > > >> [hidden email]>
> > > > >> 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 <
> > > > >> [hidden email]
> > > > >> > >:
> > > > >> >
> > > > >> > > Hello Ilya,
> > > > >> > >
> > > > >> > > Just curious, when are you planning to commit your changes to
> > the
> > > > >> 2.7.6
> > > > >> > > branch?
> > > > >> > >
> > > > >> > > ср, 28 авг. 2019 г. в 04:57, Denis Magda <[hidden email]>:
> > > > >> > >
> > > > >> > > > 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 <
> > > > >> > [hidden email]>
> > > > >> > > > 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 <
> > > > >> > > > [hidden email]
> > > > >> > > > > >:
> > > > >> > > > >
> > > > >> > > > > > 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 <
> > > > [hidden email]
> > > > >> >:
> > > > >> > > > > >
> > > > >> > > > > > > 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 <
> > > > >> [hidden email]
> > > > >> > >:
> > > > >> > > > > > >
> > > > >> > > > > > > > Or instead of a WARNING, we can add a suggestion
> with
> > a
> > > > >> > > > > recommendation
> > > > >> > > > > > > > for the production environment.
> > > > >> > > > > > > >
> > > > >> > > > > > > > вт, 27 авг. 2019 г. в 11:41, Petr Ivanov <
> > > > >> [hidden email]
> > > > >> > >:
> > > > >> > > > > > > > >
> > > > >> > > > > > > > > /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
> > > > >> > > > > > > > <[hidden email]> 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
> > > > >> > <
> > > > >> > > > > > > > [hidden email]>:
> > > > >> > > > > > > > > >>
> > > > >> > > > > > > > > >> 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
> <
> > > > >> > > > > > > [hidden email]
> > > > >> > > > > > > > > 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
> > <
> > > > >> > > > > > > > [hidden email] >
> > > > >> > > > > > > > > >>> 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
> > > > >> > > >
> > > > >> > >
> > > > >> >
> > > > >>
> > > > >
> > > >
> > >
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: Replacing default work dir from tmp to current dir

Alexey Goncharuk
Yes, my expectation was "~" to be the user home as well, too bad we missed
this during the review. The current process directory is broken because a
simple "cd" will make the persistent data disappear, which may be even
worse than the temp directory.

чт, 3 окт. 2019 г. в 01:45, Denis Magda <[hidden email]>:

> 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 <[hidden email]>
> 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 <
> [hidden email]>
> > 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 <[hidden email]>:
> > >
> > > > 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 <
> > > [hidden email]>
> > > > 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 <
> > > [hidden email]
> > > > >:
> > > > >
> > > > > > Hello!
> > > > > >
> > > > > > I have pushed an amended fix to both master and ignite-2.7.6.
> > > > > >
> > > > > > Regards,
> > > > > > --
> > > > > > Ilya Kasnacheev
> > > > > >
> > > > > >
> > > > > > пт, 30 авг. 2019 г. в 21:48, Denis Magda <[hidden email]>:
> > > > > >
> > > > > >> 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 <
> > > > > >> [hidden email]>
> > > > > >> 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 <
> > > > > >> [hidden email]
> > > > > >> > >:
> > > > > >> >
> > > > > >> > > Hello Ilya,
> > > > > >> > >
> > > > > >> > > Just curious, when are you planning to commit your changes
> to
> > > the
> > > > > >> 2.7.6
> > > > > >> > > branch?
> > > > > >> > >
> > > > > >> > > ср, 28 авг. 2019 г. в 04:57, Denis Magda <[hidden email]
> >:
> > > > > >> > >
> > > > > >> > > > 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 <
> > > > > >> > [hidden email]>
> > > > > >> > > > 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 <
> > > > > >> > > > [hidden email]
> > > > > >> > > > > >:
> > > > > >> > > > >
> > > > > >> > > > > > 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 <
> > > > > [hidden email]
> > > > > >> >:
> > > > > >> > > > > >
> > > > > >> > > > > > > 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 <
> > > > > >> [hidden email]
> > > > > >> > >:
> > > > > >> > > > > > >
> > > > > >> > > > > > > > Or instead of a WARNING, we can add a suggestion
> > with
> > > a
> > > > > >> > > > > recommendation
> > > > > >> > > > > > > > for the production environment.
> > > > > >> > > > > > > >
> > > > > >> > > > > > > > вт, 27 авг. 2019 г. в 11:41, Petr Ivanov <
> > > > > >> [hidden email]
> > > > > >> > >:
> > > > > >> > > > > > > > >
> > > > > >> > > > > > > > > /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
> > > > > >> > > > > > > > <[hidden email]> 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
> > > > > >> > <
> > > > > >> > > > > > > > [hidden email]>:
> > > > > >> > > > > > > > > >>
> > > > > >> > > > > > > > > >> 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
> > <
> > > > > >> > > > > > > [hidden email]
> > > > > >> > > > > > > > > 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
> > > <
> > > > > >> > > > > > > > [hidden email] >
> > > > > >> > > > > > > > > >>> 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
> > > > > >> > > >
> > > > > >> > >
> > > > > >> >
> > > > > >>
> > > > > >
> > > > >
> > > >
> > >
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: Replacing default work dir from tmp to current dir

Ivan Pavlukhin
In reply to this post by dmagda
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 <[hidden email]>:

>
> 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 <[hidden email]> 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 <[hidden email]>
> > 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 <[hidden email]>:
> > >
> > > > 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 <
> > > [hidden email]>
> > > > 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 <
> > > [hidden email]
> > > > >:
> > > > >
> > > > > > Hello!
> > > > > >
> > > > > > I have pushed an amended fix to both master and ignite-2.7.6.
> > > > > >
> > > > > > Regards,
> > > > > > --
> > > > > > Ilya Kasnacheev
> > > > > >
> > > > > >
> > > > > > пт, 30 авг. 2019 г. в 21:48, Denis Magda <[hidden email]>:
> > > > > >
> > > > > >> 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 <
> > > > > >> [hidden email]>
> > > > > >> 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 <
> > > > > >> [hidden email]
> > > > > >> > >:
> > > > > >> >
> > > > > >> > > Hello Ilya,
> > > > > >> > >
> > > > > >> > > Just curious, when are you planning to commit your changes to
> > > the
> > > > > >> 2.7.6
> > > > > >> > > branch?
> > > > > >> > >
> > > > > >> > > ср, 28 авг. 2019 г. в 04:57, Denis Magda <[hidden email]>:
> > > > > >> > >
> > > > > >> > > > 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 <
> > > > > >> > [hidden email]>
> > > > > >> > > > 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 <
> > > > > >> > > > [hidden email]
> > > > > >> > > > > >:
> > > > > >> > > > >
> > > > > >> > > > > > 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 <
> > > > > [hidden email]
> > > > > >> >:
> > > > > >> > > > > >
> > > > > >> > > > > > > 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 <
> > > > > >> [hidden email]
> > > > > >> > >:
> > > > > >> > > > > > >
> > > > > >> > > > > > > > Or instead of a WARNING, we can add a suggestion
> > with
> > > a
> > > > > >> > > > > recommendation
> > > > > >> > > > > > > > for the production environment.
> > > > > >> > > > > > > >
> > > > > >> > > > > > > > вт, 27 авг. 2019 г. в 11:41, Petr Ivanov <
> > > > > >> [hidden email]
> > > > > >> > >:
> > > > > >> > > > > > > > >
> > > > > >> > > > > > > > > /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
> > > > > >> > > > > > > > <[hidden email]> 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
> > > > > >> > <
> > > > > >> > > > > > > > [hidden email]>:
> > > > > >> > > > > > > > > >>
> > > > > >> > > > > > > > > >> 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
> > <
> > > > > >> > > > > > > [hidden email]
> > > > > >> > > > > > > > > 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
> > > <
> > > > > >> > > > > > > > [hidden email] >
> > > > > >> > > > > > > > > >>> 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 | Threaded
Open this post in threaded view
|

Re: Replacing default work dir from tmp to current dir

Ivan Pavlukhin
As for .NET. Should not we define IGNITE_HOME for it?

чт, 3 окт. 2019 г. в 12:13, Ivan Pavlukhin <[hidden email]>:

>
> 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 <[hidden email]>:
> >
> > 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 <[hidden email]> 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 <[hidden email]>
> > > 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 <[hidden email]>:
> > > >
> > > > > 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 <
> > > > [hidden email]>
> > > > > 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 <
> > > > [hidden email]
> > > > > >:
> > > > > >
> > > > > > > Hello!
> > > > > > >
> > > > > > > I have pushed an amended fix to both master and ignite-2.7.6.
> > > > > > >
> > > > > > > Regards,
> > > > > > > --
> > > > > > > Ilya Kasnacheev
> > > > > > >
> > > > > > >
> > > > > > > пт, 30 авг. 2019 г. в 21:48, Denis Magda <[hidden email]>:
> > > > > > >
> > > > > > >> 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 <
> > > > > > >> [hidden email]>
> > > > > > >> 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 <
> > > > > > >> [hidden email]
> > > > > > >> > >:
> > > > > > >> >
> > > > > > >> > > Hello Ilya,
> > > > > > >> > >
> > > > > > >> > > Just curious, when are you planning to commit your changes to
> > > > the
> > > > > > >> 2.7.6
> > > > > > >> > > branch?
> > > > > > >> > >
> > > > > > >> > > ср, 28 авг. 2019 г. в 04:57, Denis Magda <[hidden email]>:
> > > > > > >> > >
> > > > > > >> > > > 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 <
> > > > > > >> > [hidden email]>
> > > > > > >> > > > 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 <
> > > > > > >> > > > [hidden email]
> > > > > > >> > > > > >:
> > > > > > >> > > > >
> > > > > > >> > > > > > 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 <
> > > > > > [hidden email]
> > > > > > >> >:
> > > > > > >> > > > > >
> > > > > > >> > > > > > > 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 <
> > > > > > >> [hidden email]
> > > > > > >> > >:
> > > > > > >> > > > > > >
> > > > > > >> > > > > > > > Or instead of a WARNING, we can add a suggestion
> > > with
> > > > a
> > > > > > >> > > > > recommendation
> > > > > > >> > > > > > > > for the production environment.
> > > > > > >> > > > > > > >
> > > > > > >> > > > > > > > вт, 27 авг. 2019 г. в 11:41, Petr Ivanov <
> > > > > > >> [hidden email]
> > > > > > >> > >:
> > > > > > >> > > > > > > > >
> > > > > > >> > > > > > > > > /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
> > > > > > >> > > > > > > > <[hidden email]> 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
> > > > > > >> > <
> > > > > > >> > > > > > > > [hidden email]>:
> > > > > > >> > > > > > > > > >>
> > > > > > >> > > > > > > > > >> 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
> > > <
> > > > > > >> > > > > > > [hidden email]
> > > > > > >> > > > > > > > > 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
> > > > <
> > > > > > >> > > > > > > > [hidden email] >
> > > > > > >> > > > > > > > > >>> 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



--
Best regards,
Ivan Pavlukhin
Reply | Threaded
Open this post in threaded view
|

Re: Replacing default work dir from tmp to current dir

Pavel Tupitsyn
Ivan, which vendors place files into current work dir, can you please give
an example?

> Generally IGNITE_HOME should be defined
This is an inconvenience for the users, bad usability.
As a user, why would I want to define a system-wide property just to use
some library?

> As for .NET. Should not we define IGNITE_HOME for it?
No, for the reasons stated above.

I'd like everyone to pay more attention to Maven/NuGet distribution
scenario. Forget about zip archive for a while.
As a user, I add a dependency to Ignite package and call Ignition.start().
That's all, it should work right away, no env vars, no additional
configuration.
And current work dir should not matter, because different tools, IDEs and
workflows dictate different work directories.

> user.home can be not writable as well
In this case users won't even be able to use Maven or NuGet, let's not
consider those rare scenarios.


To summarize: home directory is the way to go as a default location.

On Thu, Oct 3, 2019 at 12:14 PM Ivan Pavlukhin <[hidden email]> wrote:

> As for .NET. Should not we define IGNITE_HOME for it?
>
> чт, 3 окт. 2019 г. в 12:13, Ivan Pavlukhin <[hidden email]>:
> >
> > 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 <[hidden email]>:
> > >
> > > 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 <[hidden email]>
> 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 <
> [hidden email]>
> > > > 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 <[hidden email]>:
> > > > >
> > > > > > 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 <
> > > > > [hidden email]>
> > > > > > 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 <
> > > > > [hidden email]
> > > > > > >:
> > > > > > >
> > > > > > > > Hello!
> > > > > > > >
> > > > > > > > I have pushed an amended fix to both master and ignite-2.7.6.
> > > > > > > >
> > > > > > > > Regards,
> > > > > > > > --
> > > > > > > > Ilya Kasnacheev
> > > > > > > >
> > > > > > > >
> > > > > > > > пт, 30 авг. 2019 г. в 21:48, Denis Magda <[hidden email]
> >:
> > > > > > > >
> > > > > > > >> 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 <
> > > > > > > >> [hidden email]>
> > > > > > > >> 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 <
> > > > > > > >> [hidden email]
> > > > > > > >> > >:
> > > > > > > >> >
> > > > > > > >> > > Hello Ilya,
> > > > > > > >> > >
> > > > > > > >> > > Just curious, when are you planning to commit your
> changes to
> > > > > the
> > > > > > > >> 2.7.6
> > > > > > > >> > > branch?
> > > > > > > >> > >
> > > > > > > >> > > ср, 28 авг. 2019 г. в 04:57, Denis Magda <
> [hidden email]>:
> > > > > > > >> > >
> > > > > > > >> > > > 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 <
> > > > > > > >> > [hidden email]>
> > > > > > > >> > > > 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 <
> > > > > > > >> > > > [hidden email]
> > > > > > > >> > > > > >:
> > > > > > > >> > > > >
> > > > > > > >> > > > > > 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 <
> > > > > > > [hidden email]
> > > > > > > >> >:
> > > > > > > >> > > > > >
> > > > > > > >> > > > > > > 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 <
> > > > > > > >> [hidden email]
> > > > > > > >> > >:
> > > > > > > >> > > > > > >
> > > > > > > >> > > > > > > > Or instead of a WARNING, we can add a
> suggestion
> > > > with
> > > > > a
> > > > > > > >> > > > > recommendation
> > > > > > > >> > > > > > > > for the production environment.
> > > > > > > >> > > > > > > >
> > > > > > > >> > > > > > > > вт, 27 авг. 2019 г. в 11:41, Petr Ivanov <
> > > > > > > >> [hidden email]
> > > > > > > >> > >:
> > > > > > > >> > > > > > > > >
> > > > > > > >> > > > > > > > > /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
> > > > > > > >> > > > > > > > <[hidden email]> 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
> > > > > > > >> > <
> > > > > > > >> > > > > > > > [hidden email]>:
> > > > > > > >> > > > > > > > > >>
> > > > > > > >> > > > > > > > > >> 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
> > > > <
> > > > > > > >> > > > > > > [hidden email]
> > > > > > > >> > > > > > > > > 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
> > > > > <
> > > > > > > >> > > > > > > > [hidden email] >
> > > > > > > >> > > > > > > > > >>> 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
>
>
>
> --
> Best regards,
> Ivan Pavlukhin
>
Reply | Threaded
Open this post in threaded view
|

Re: Replacing default work dir from tmp to current dir

Nikolay Izhikov-2
Pavel.

> As a user, why would I want to define a system-wide property just to use
> some library?

Why do you think Ignite is a library?
May be the root of usability issues in using same distribution for a library and server side dbms?


В Чт, 03/10/2019 в 13:40 +0300, Pavel Tupitsyn пишет:

> Ivan, which vendors place files into current work dir, can you please give
> an example?
>
> > Generally IGNITE_HOME should be defined
>
> This is an inconvenience for the users, bad usability.
> As a user, why would I want to define a system-wide property just to use
> some library?
>
> > As for .NET. Should not we define IGNITE_HOME for it?
>
> No, for the reasons stated above.
>
> I'd like everyone to pay more attention to Maven/NuGet distribution
> scenario. Forget about zip archive for a while.
> As a user, I add a dependency to Ignite package and call Ignition.start().
> That's all, it should work right away, no env vars, no additional
> configuration.
> And current work dir should not matter, because different tools, IDEs and
> workflows dictate different work directories.
>
> > user.home can be not writable as well
>
> In this case users won't even be able to use Maven or NuGet, let's not
> consider those rare scenarios.
>
>
> To summarize: home directory is the way to go as a default location.
>
> On Thu, Oct 3, 2019 at 12:14 PM Ivan Pavlukhin <[hidden email]> wrote:
>
> > As for .NET. Should not we define IGNITE_HOME for it?
> >
> > чт, 3 окт. 2019 г. в 12:13, Ivan Pavlukhin <[hidden email]>:
> > >
> > > 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 <[hidden email]>:
> > > >
> > > > 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 <[hidden email]>
> >
> > 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 <
> >
> > [hidden email]>
> > > > > 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 <[hidden email]>:
> > > > > >
> > > > > > > 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 <
> > > > > >
> > > > > > [hidden email]>
> > > > > > > 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 <
> > > > > >
> > > > > > [hidden email]
> > > > > > > > :
> > > > > > > >
> > > > > > > > > Hello!
> > > > > > > > >
> > > > > > > > > I have pushed an amended fix to both master and ignite-2.7.6.
> > > > > > > > >
> > > > > > > > > Regards,
> > > > > > > > > --
> > > > > > > > > Ilya Kasnacheev
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > пт, 30 авг. 2019 г. в 21:48, Denis Magda <[hidden email]
> > >
> > > :
> > > > > > > > >
> > > > > > > > > > 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 <
> > > > > > > > > > [hidden email]>
> > > > > > > > > > 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 <
> > > > > > > > > >
> > > > > > > > > > [hidden email]
> > > > > > > > > > > > :
> > > > > > > > > > > > Hello Ilya,
> > > > > > > > > > > >
> > > > > > > > > > > > Just curious, when are you planning to commit your
> >
> > changes to
> > > > > > the
> > > > > > > > > > 2.7.6
> > > > > > > > > > > > branch?
> > > > > > > > > > > >
> > > > > > > > > > > > ср, 28 авг. 2019 г. в 04:57, Denis Magda <
> >
> > [hidden email]>:
> > > > > > > > > > > >
> > > > > > > > > > > > > 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 <
> > > > > > > > > > >
> > > > > > > > > > > [hidden email]>
> > > > > > > > > > > > > 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 <
> > > > > > > > > > > > >
> > > > > > > > > > > > > [hidden email]
> > > > > > > > > > > > > > > :
> > > > > > > > > > > > > > > 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 <
> > > > > > > >
> > > > > > > > [hidden email]
> > > > > > > > > > > :
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > 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 <
> > > > > > > > > >
> > > > > > > > > > [hidden email]
> > > > > > > > > > > > :
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > Or instead of a WARNING, we can add a
> >
> > suggestion
> > > > > with
> > > > > > a
> > > > > > > > > > > > > > recommendation
> > > > > > > > > > > > > > > > > for the production environment.
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > вт, 27 авг. 2019 г. в 11:41, Petr Ivanov <
> > > > > > > > > >
> > > > > > > > > > [hidden email]
> > > > > > > > > > > > :
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > /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
> > > > > > > > > > > > > > > > > <[hidden email]> 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
> > > > > > > > > > > <
> > > > > > > > > > > > > > > > > [hidden email]>:
> > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > 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
> > > > > <
> > > > > > > > > > > > > > > > [hidden email]
> > > > > > > > > > > > > > > > > > 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
> > > > > > <
> > > > > > > > > > > > > > > > > [hidden email] >
> > > > > > > > > > > > > > > > > > > > > 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
> >
> >
> >
> > --
> > Best regards,
> > Ivan Pavlukhin
> >

signature.asc (499 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Replacing default work dir from tmp to current dir

Alexey Goncharuk
Nikolay,

Ignite is widely used in embedded scenarios; the ability to process data
in-process locally is very powerful and I see no reason why we should
remove it. I absolutely agree with Pavel T. on the subject. As an example,
both SQLite, and rocksdb are distributed as a library, so I see no issues
in Ignite server side being a library.

As long as Ignite is available as a maven library, we should provide a
consistent node behavior; "current directory" as persistence directory is
not consistent.

чт, 3 окт. 2019 г. в 13:52, Nikolay Izhikov <[hidden email]>:

> Pavel.
>
> > As a user, why would I want to define a system-wide property just to use
> > some library?
>
> Why do you think Ignite is a library?
> May be the root of usability issues in using same distribution for a
> library and server side dbms?
>
>
> В Чт, 03/10/2019 в 13:40 +0300, Pavel Tupitsyn пишет:
> > Ivan, which vendors place files into current work dir, can you please
> give
> > an example?
> >
> > > Generally IGNITE_HOME should be defined
> >
> > This is an inconvenience for the users, bad usability.
> > As a user, why would I want to define a system-wide property just to use
> > some library?
> >
> > > As for .NET. Should not we define IGNITE_HOME for it?
> >
> > No, for the reasons stated above.
> >
> > I'd like everyone to pay more attention to Maven/NuGet distribution
> > scenario. Forget about zip archive for a while.
> > As a user, I add a dependency to Ignite package and call
> Ignition.start().
> > That's all, it should work right away, no env vars, no additional
> > configuration.
> > And current work dir should not matter, because different tools, IDEs and
> > workflows dictate different work directories.
> >
> > > user.home can be not writable as well
> >
> > In this case users won't even be able to use Maven or NuGet, let's not
> > consider those rare scenarios.
> >
> >
> > To summarize: home directory is the way to go as a default location.
> >
> > On Thu, Oct 3, 2019 at 12:14 PM Ivan Pavlukhin <[hidden email]>
> wrote:
> >
> > > As for .NET. Should not we define IGNITE_HOME for it?
> > >
> > > чт, 3 окт. 2019 г. в 12:13, Ivan Pavlukhin <[hidden email]>:
> > > >
> > > > 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 <[hidden email]>:
> > > > >
> > > > > 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 <
> [hidden email]>
> > >
> > > 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 <
> > >
> > > [hidden email]>
> > > > > > 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 <[hidden email]
> >:
> > > > > > >
> > > > > > > > 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 <
> > > > > > >
> > > > > > > [hidden email]>
> > > > > > > > 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 <
> > > > > > >
> > > > > > > [hidden email]
> > > > > > > > > :
> > > > > > > > >
> > > > > > > > > > Hello!
> > > > > > > > > >
> > > > > > > > > > I have pushed an amended fix to both master and
> ignite-2.7.6.
> > > > > > > > > >
> > > > > > > > > > Regards,
> > > > > > > > > > --
> > > > > > > > > > Ilya Kasnacheev
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > пт, 30 авг. 2019 г. в 21:48, Denis Magda <
> [hidden email]
> > > >
> > > > :
> > > > > > > > > >
> > > > > > > > > > > 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 <
> > > > > > > > > > > [hidden email]>
> > > > > > > > > > > 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 <
> > > > > > > > > > >
> > > > > > > > > > > [hidden email]
> > > > > > > > > > > > > :
> > > > > > > > > > > > > Hello Ilya,
> > > > > > > > > > > > >
> > > > > > > > > > > > > Just curious, when are you planning to commit your
> > >
> > > changes to
> > > > > > > the
> > > > > > > > > > > 2.7.6
> > > > > > > > > > > > > branch?
> > > > > > > > > > > > >
> > > > > > > > > > > > > ср, 28 авг. 2019 г. в 04:57, Denis Magda <
> > >
> > > [hidden email]>:
> > > > > > > > > > > > >
> > > > > > > > > > > > > > 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 <
> > > > > > > > > > > >
> > > > > > > > > > > > [hidden email]>
> > > > > > > > > > > > > > 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 <
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > [hidden email]
> > > > > > > > > > > > > > > > :
> > > > > > > > > > > > > > > > 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 <
> > > > > > > > >
> > > > > > > > > [hidden email]
> > > > > > > > > > > > :
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > 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 <
> > > > > > > > > > >
> > > > > > > > > > > [hidden email]
> > > > > > > > > > > > > :
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > Or instead of a WARNING, we can add a
> > >
> > > suggestion
> > > > > > with
> > > > > > > a
> > > > > > > > > > > > > > > recommendation
> > > > > > > > > > > > > > > > > > for the production environment.
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > вт, 27 авг. 2019 г. в 11:41, Petr Ivanov
> <
> > > > > > > > > > >
> > > > > > > > > > > [hidden email]
> > > > > > > > > > > > > :
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > /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
> > > > > > > > > > > > > > > > > > <[hidden email]> 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
> > > > > > > > > > > > <
> > > > > > > > > > > > > > > > > > [hidden email]>:
> > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > 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
> > > > > > <
> > > > > > > > > > > > > > > > > [hidden email]
> > > > > > > > > > > > > > > > > > > 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
> > > > > > > <
> > > > > > > > > > > > > > > > > > [hidden email] >
> > > > > > > > > > > > > > > > > > > > > > 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
> > >
> > >
> > >
> > > --
> > > Best regards,
> > > Ivan Pavlukhin
> > >
>
Reply | Threaded
Open this post in threaded view
|

Re: Replacing default work dir from tmp to current dir

Nikolay Izhikov-2
Alexey.

> Ignite is widely used in embedded scenarios; the ability to process data
> in-process locally is very powerful and I see no reason why we should
> remove it

I don't propose to remove something.
I wrote about "same distribution".

Seems, we should have different defaults and even distributions for different usage scenarios.

> As an example,
> both SQLite, and rocksdb are distributed as a library, so I see no issues
> in Ignite server side being a library.

As far as I know, both rocksdb and SQLite is local only libraries and don't have any distrubted features.


>"current directory" as persistence directory is not consistent.

I agree with you.
How it happens, that after wide discussion we implemented, reviewed and merged wrong defaults?

As I know, we have explicit release only to change this default.

This release is broken, isn't it?

В Чт, 03/10/2019 в 14:03 +0300, Alexey Goncharuk пишет:

> Nikolay,
>
> Ignite is widely used in embedded scenarios; the ability to process data
> in-process locally is very powerful and I see no reason why we should
> remove it. I absolutely agree with Pavel T. on the subject. As an example,
> both SQLite, and rocksdb are distributed as a library, so I see no issues
> in Ignite server side being a library.
>
> As long as Ignite is available as a maven library, we should provide a
> consistent node behavior; "current directory" as persistence directory is
> not consistent.
>
> чт, 3 окт. 2019 г. в 13:52, Nikolay Izhikov <[hidden email]>:
>
> > Pavel.
> >
> > > As a user, why would I want to define a system-wide property just to use
> > > some library?
> >
> > Why do you think Ignite is a library?
> > May be the root of usability issues in using same distribution for a
> > library and server side dbms?
> >
> >
> > В Чт, 03/10/2019 в 13:40 +0300, Pavel Tupitsyn пишет:
> > > Ivan, which vendors place files into current work dir, can you please
> >
> > give
> > > an example?
> > >
> > > > Generally IGNITE_HOME should be defined
> > >
> > > This is an inconvenience for the users, bad usability.
> > > As a user, why would I want to define a system-wide property just to use
> > > some library?
> > >
> > > > As for .NET. Should not we define IGNITE_HOME for it?
> > >
> > > No, for the reasons stated above.
> > >
> > > I'd like everyone to pay more attention to Maven/NuGet distribution
> > > scenario. Forget about zip archive for a while.
> > > As a user, I add a dependency to Ignite package and call
> >
> > Ignition.start().
> > > That's all, it should work right away, no env vars, no additional
> > > configuration.
> > > And current work dir should not matter, because different tools, IDEs and
> > > workflows dictate different work directories.
> > >
> > > > user.home can be not writable as well
> > >
> > > In this case users won't even be able to use Maven or NuGet, let's not
> > > consider those rare scenarios.
> > >
> > >
> > > To summarize: home directory is the way to go as a default location.
> > >
> > > On Thu, Oct 3, 2019 at 12:14 PM Ivan Pavlukhin <[hidden email]>
> >
> > wrote:
> > >
> > > > As for .NET. Should not we define IGNITE_HOME for it?
> > > >
> > > > чт, 3 окт. 2019 г. в 12:13, Ivan Pavlukhin <[hidden email]>:
> > > > >
> > > > > 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 <[hidden email]>:
> > > > > >
> > > > > > 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 <
> >
> > [hidden email]>
> > > >
> > > > 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 <
> > > >
> > > > [hidden email]>
> > > > > > > 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 <[hidden email]
> > >
> > > :
> > > > > > > >
> > > > > > > > > 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 <
> > > > > > > >
> > > > > > > > [hidden email]>
> > > > > > > > > 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 <
> > > > > > > >
> > > > > > > > [hidden email]
> > > > > > > > > > :
> > > > > > > > > >
> > > > > > > > > > > Hello!
> > > > > > > > > > >
> > > > > > > > > > > I have pushed an amended fix to both master and
> >
> > ignite-2.7.6.
> > > > > > > > > > >
> > > > > > > > > > > Regards,
> > > > > > > > > > > --
> > > > > > > > > > > Ilya Kasnacheev
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > пт, 30 авг. 2019 г. в 21:48, Denis Magda <
> >
> > [hidden email]
> > > > >
> > > > > :
> > > > > > > > > > >
> > > > > > > > > > > > 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 <
> > > > > > > > > > > > [hidden email]>
> > > > > > > > > > > > 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 <
> > > > > > > > > > > >
> > > > > > > > > > > > [hidden email]
> > > > > > > > > > > > > > :
> > > > > > > > > > > > > > Hello Ilya,
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Just curious, when are you planning to commit your
> > > >
> > > > changes to
> > > > > > > > the
> > > > > > > > > > > > 2.7.6
> > > > > > > > > > > > > > branch?
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > ср, 28 авг. 2019 г. в 04:57, Denis Magda <
> > > >
> > > > [hidden email]>:
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > > 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 <
> > > > > > > > > > > > >
> > > > > > > > > > > > > [hidden email]>
> > > > > > > > > > > > > > > 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 <
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > [hidden email]
> > > > > > > > > > > > > > > > > :
> > > > > > > > > > > > > > > > > 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 <
> > > > > > > > > >
> > > > > > > > > > [hidden email]
> > > > > > > > > > > > > :
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > 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 <
> > > > > > > > > > > >
> > > > > > > > > > > > [hidden email]
> > > > > > > > > > > > > > :
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > Or instead of a WARNING, we can add a
> > > >
> > > > suggestion
> > > > > > > with
> > > > > > > > a
> > > > > > > > > > > > > > > > recommendation
> > > > > > > > > > > > > > > > > > > for the production environment.
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > вт, 27 авг. 2019 г. в 11:41, Petr Ivanov
> >
> > <
> > > > > > > > > > > >
> > > > > > > > > > > > [hidden email]
> > > > > > > > > > > > > > :
> > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > /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
> > > > > > > > > > > > > > > > > > > <[hidden email]> 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
> > > > > > > > > > > > > <
> > > > > > > > > > > > > > > > > > > [hidden email]>:
> > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > 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
> > > > > > > <
> > > > > > > > > > > > > > > > > > [hidden email]
> > > > > > > > > > > > > > > > > > > > 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
> > > > > > > > <
> > > > > > > > > > > > > > > > > > > [hidden email] >
> > > > > > > > > > > > > > > > > > > > > > > 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
> > > >
> > > >
> > > >
> > > > --
> > > > Best regards,
> > > > Ivan Pavlukhin
> > > >

signature.asc (499 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Replacing default work dir from tmp to current dir

Ivan Pavlukhin
Pavel,

> Ivan, which vendors place files into current work dir, can you please give an example?

Cockroachdb stores files relative to current work dir (yes, "cd"
sensitive). As I understood aforementioned SQLite do the same [1].

> In this case users won't even be able to use Maven or NuGet, let's not consider those rare scenarios.

Cannot tell about NuGet. Maven is typically used during development,
usually there is no Maven in production deployments.

Folks, I believe we should definitely wait a reply from Ilya, as the
fix was not done blindly.

[1] https://www.sqlite.org/c3ref/data_directory.html

чт, 3 окт. 2019 г. в 14:19, Nikolay Izhikov <[hidden email]>:

>
> Alexey.
>
> > Ignite is widely used in embedded scenarios; the ability to process data
> > in-process locally is very powerful and I see no reason why we should
> > remove it
>
> I don't propose to remove something.
> I wrote about "same distribution".
>
> Seems, we should have different defaults and even distributions for different usage scenarios.
>
> > As an example,
> > both SQLite, and rocksdb are distributed as a library, so I see no issues
> > in Ignite server side being a library.
>
> As far as I know, both rocksdb and SQLite is local only libraries and don't have any distrubted features.
>
>
> >"current directory" as persistence directory is not consistent.
>
> I agree with you.
> How it happens, that after wide discussion we implemented, reviewed and merged wrong defaults?
>
> As I know, we have explicit release only to change this default.
>
> This release is broken, isn't it?
>
> В Чт, 03/10/2019 в 14:03 +0300, Alexey Goncharuk пишет:
> > Nikolay,
> >
> > Ignite is widely used in embedded scenarios; the ability to process data
> > in-process locally is very powerful and I see no reason why we should
> > remove it. I absolutely agree with Pavel T. on the subject. As an example,
> > both SQLite, and rocksdb are distributed as a library, so I see no issues
> > in Ignite server side being a library.
> >
> > As long as Ignite is available as a maven library, we should provide a
> > consistent node behavior; "current directory" as persistence directory is
> > not consistent.
> >
> > чт, 3 окт. 2019 г. в 13:52, Nikolay Izhikov <[hidden email]>:
> >
> > > Pavel.
> > >
> > > > As a user, why would I want to define a system-wide property just to use
> > > > some library?
> > >
> > > Why do you think Ignite is a library?
> > > May be the root of usability issues in using same distribution for a
> > > library and server side dbms?
> > >
> > >
> > > В Чт, 03/10/2019 в 13:40 +0300, Pavel Tupitsyn пишет:
> > > > Ivan, which vendors place files into current work dir, can you please
> > >
> > > give
> > > > an example?
> > > >
> > > > > Generally IGNITE_HOME should be defined
> > > >
> > > > This is an inconvenience for the users, bad usability.
> > > > As a user, why would I want to define a system-wide property just to use
> > > > some library?
> > > >
> > > > > As for .NET. Should not we define IGNITE_HOME for it?
> > > >
> > > > No, for the reasons stated above.
> > > >
> > > > I'd like everyone to pay more attention to Maven/NuGet distribution
> > > > scenario. Forget about zip archive for a while.
> > > > As a user, I add a dependency to Ignite package and call
> > >
> > > Ignition.start().
> > > > That's all, it should work right away, no env vars, no additional
> > > > configuration.
> > > > And current work dir should not matter, because different tools, IDEs and
> > > > workflows dictate different work directories.
> > > >
> > > > > user.home can be not writable as well
> > > >
> > > > In this case users won't even be able to use Maven or NuGet, let's not
> > > > consider those rare scenarios.
> > > >
> > > >
> > > > To summarize: home directory is the way to go as a default location.
> > > >
> > > > On Thu, Oct 3, 2019 at 12:14 PM Ivan Pavlukhin <[hidden email]>
> > >
> > > wrote:
> > > >
> > > > > As for .NET. Should not we define IGNITE_HOME for it?
> > > > >
> > > > > чт, 3 окт. 2019 г. в 12:13, Ivan Pavlukhin <[hidden email]>:
> > > > > >
> > > > > > 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 <[hidden email]>:
> > > > > > >
> > > > > > > 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 <
> > >
> > > [hidden email]>
> > > > >
> > > > > 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 <
> > > > >
> > > > > [hidden email]>
> > > > > > > > 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 <[hidden email]
> > > >
> > > > :
> > > > > > > > >
> > > > > > > > > > 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 <
> > > > > > > > >
> > > > > > > > > [hidden email]>
> > > > > > > > > > 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 <
> > > > > > > > >
> > > > > > > > > [hidden email]
> > > > > > > > > > > :
> > > > > > > > > > >
> > > > > > > > > > > > Hello!
> > > > > > > > > > > >
> > > > > > > > > > > > I have pushed an amended fix to both master and
> > >
> > > ignite-2.7.6.
> > > > > > > > > > > >
> > > > > > > > > > > > Regards,
> > > > > > > > > > > > --
> > > > > > > > > > > > Ilya Kasnacheev
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > пт, 30 авг. 2019 г. в 21:48, Denis Magda <
> > >
> > > [hidden email]
> > > > > >
> > > > > > :
> > > > > > > > > > > >
> > > > > > > > > > > > > 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 <
> > > > > > > > > > > > > [hidden email]>
> > > > > > > > > > > > > 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 <
> > > > > > > > > > > > >
> > > > > > > > > > > > > [hidden email]
> > > > > > > > > > > > > > > :
> > > > > > > > > > > > > > > Hello Ilya,
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > Just curious, when are you planning to commit your
> > > > >
> > > > > changes to
> > > > > > > > > the
> > > > > > > > > > > > > 2.7.6
> > > > > > > > > > > > > > > branch?
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > ср, 28 авг. 2019 г. в 04:57, Denis Magda <
> > > > >
> > > > > [hidden email]>:
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > 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 <
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > [hidden email]>
> > > > > > > > > > > > > > > > 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 <
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > [hidden email]
> > > > > > > > > > > > > > > > > > :
> > > > > > > > > > > > > > > > > > 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 <
> > > > > > > > > > >
> > > > > > > > > > > [hidden email]
> > > > > > > > > > > > > > :
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > 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 <
> > > > > > > > > > > > >
> > > > > > > > > > > > > [hidden email]
> > > > > > > > > > > > > > > :
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > Or instead of a WARNING, we can add a
> > > > >
> > > > > suggestion
> > > > > > > > with
> > > > > > > > > a
> > > > > > > > > > > > > > > > > recommendation
> > > > > > > > > > > > > > > > > > > > for the production environment.
> > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > вт, 27 авг. 2019 г. в 11:41, Petr Ivanov
> > >
> > > <
> > > > > > > > > > > > >
> > > > > > > > > > > > > [hidden email]
> > > > > > > > > > > > > > > :
> > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > /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
> > > > > > > > > > > > > > > > > > > > <[hidden email]> 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
> > > > > > > > > > > > > > <
> > > > > > > > > > > > > > > > > > > > [hidden email]>:
> > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > 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
> > > > > > > > <
> > > > > > > > > > > > > > > > > > > [hidden email]
> > > > > > > > > > > > > > > > > > > > > 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
> > > > > > > > > <
> > > > > > > > > > > > > > > > > > > > [hidden email] >
> > > > > > > > > > > > > > > > > > > > > > > > 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
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Best regards,
> > > > > Ivan Pavlukhin
> > > > >



--
Best regards,
Ivan Pavlukhin

Reply | Threaded
Open this post in threaded view
|

Re: Replacing default work dir from tmp to current dir

Alexey Goncharuk
In reply to this post by Nikolay Izhikov-2
>
> Seems, we should have different defaults and even distributions for
> different usage scenarios.
>
I still do not understand why defaults should be different for embedded and
"traditional RDBMS-like" installations. Having different defaults will
likely confuse users, not make usability easier. Personally, I would forbid
to start Ignite if IGNITE_HOME is not set, but this suggestion was not
accepted by the community.

As far as I know, both rocksdb and SQLite is local only libraries and don't
> have any distrubted features.

See no difference here. Imagine a user starts only one Ignite node for
development or just to play (which, I believe, happes quite a lot) - same
as with local databases. BTW, it is impossible to start SQLite without
database path, so a user either provides a full path, or a relative path
from the current directory - which is an explicit action from a user.


> I agree with you.
> How it happens, that after wide discussion we implemented, reviewed and
> merged wrong defaults?
>
> As I know, we have explicit release only to change this default.
>
> This release is broken, isn't it?
>
I think this is just a miscommunication. Ilya made a fix which was exactly
what he meant it to be. As for the release - it may have worse usability,
but not more 'broken' as the previous one with the temp directory. At least
the data will not be physically removed after the machine restart.
Reply | Threaded
Open this post in threaded view
|

Re: Replacing default work dir from tmp to current dir

Ilya Kasnacheev
Hello!

I want to point out that I didn't change this location (current dir). It
was already implemented when I raised this issue, the only change I did was
to swap current dir/work to current dir/ignite/work to avoid confusion
whose work dir that is.

I also communicated this to you all in ML when I discovered that current
dir is used.

I think that current dir is actually *well defined* when starting a
project. A project is expected to be started from the same dir, and all
"Run..." dialogs usually allow specifying that one.

For embedded scenarios, you definitely not want work dir from two different
Ignite-using tools to interfere. For embedded scenarios, you should only
expect that current dir is writable.

Even after these considerations, it's too late to change that because
people don't expect this dir to move with every release of Ignite, and we
already did it once.

Regards,
--
Ilya Kasnacheev


чт, 3 окт. 2019 г. в 17:34, Alexey Goncharuk <[hidden email]>:

> >
> > Seems, we should have different defaults and even distributions for
> > different usage scenarios.
> >
> I still do not understand why defaults should be different for embedded and
> "traditional RDBMS-like" installations. Having different defaults will
> likely confuse users, not make usability easier. Personally, I would forbid
> to start Ignite if IGNITE_HOME is not set, but this suggestion was not
> accepted by the community.
>
> As far as I know, both rocksdb and SQLite is local only libraries and don't
> > have any distrubted features.
>
> See no difference here. Imagine a user starts only one Ignite node for
> development or just to play (which, I believe, happes quite a lot) - same
> as with local databases. BTW, it is impossible to start SQLite without
> database path, so a user either provides a full path, or a relative path
> from the current directory - which is an explicit action from a user.
>
>
> > I agree with you.
> > How it happens, that after wide discussion we implemented, reviewed and
> > merged wrong defaults?
> >
> > As I know, we have explicit release only to change this default.
> >
> > This release is broken, isn't it?
> >
> I think this is just a miscommunication. Ilya made a fix which was exactly
> what he meant it to be. As for the release - it may have worse usability,
> but not more 'broken' as the previous one with the temp directory. At least
> the data will not be physically removed after the machine restart.
>
Reply | Threaded
Open this post in threaded view
|

Re: Replacing default work dir from tmp to current dir

Pavel Tupitsyn
>  Cannot tell about NuGet. Maven is typically used during development,
usually there is no Maven in production deployments.
NuGet and Maven are very similar. Yes, both of them are build-time tools,
production is unrelated.
For production-ready deployments we can expect users to tweak Ignite to
their needs, set custom storage dirs, adjust heap sizes and so on.

I'm talking about new users, about "getting started" scenarios -
it is super important to make Ignite easy to get started with, provide
reasonable defaults for all the configuration properties.

For Ignite.NET, LINQPad is one of those "get started in 2 clicks"
scenarios. And this scenario got broken as explained above.
2.7.5 and earlier used temp dir, which worked. 2.7.6 fails: "Work directory
does not exist and cannot be created: C:\Program Files\LINQPad5\ignite\work"

For Java there is JPad, which will fail in the same way - when you run code
from there, `user.dir` points to Program Files.

I expect that there are more use cases like this, and `user.home` is a
reasonable solution.

On Thu, Oct 3, 2019 at 5:56 PM Ilya Kasnacheev <[hidden email]>
wrote:

> Hello!
>
> I want to point out that I didn't change this location (current dir). It
> was already implemented when I raised this issue, the only change I did was
> to swap current dir/work to current dir/ignite/work to avoid confusion
> whose work dir that is.
>
> I also communicated this to you all in ML when I discovered that current
> dir is used.
>
> I think that current dir is actually *well defined* when starting a
> project. A project is expected to be started from the same dir, and all
> "Run..." dialogs usually allow specifying that one.
>
> For embedded scenarios, you definitely not want work dir from two different
> Ignite-using tools to interfere. For embedded scenarios, you should only
> expect that current dir is writable.
>
> Even after these considerations, it's too late to change that because
> people don't expect this dir to move with every release of Ignite, and we
> already did it once.
>
> Regards,
> --
> Ilya Kasnacheev
>
>
> чт, 3 окт. 2019 г. в 17:34, Alexey Goncharuk <[hidden email]>:
>
> > >
> > > Seems, we should have different defaults and even distributions for
> > > different usage scenarios.
> > >
> > I still do not understand why defaults should be different for embedded
> and
> > "traditional RDBMS-like" installations. Having different defaults will
> > likely confuse users, not make usability easier. Personally, I would
> forbid
> > to start Ignite if IGNITE_HOME is not set, but this suggestion was not
> > accepted by the community.
> >
> > As far as I know, both rocksdb and SQLite is local only libraries and
> don't
> > > have any distrubted features.
> >
> > See no difference here. Imagine a user starts only one Ignite node for
> > development or just to play (which, I believe, happes quite a lot) - same
> > as with local databases. BTW, it is impossible to start SQLite without
> > database path, so a user either provides a full path, or a relative path
> > from the current directory - which is an explicit action from a user.
> >
> >
> > > I agree with you.
> > > How it happens, that after wide discussion we implemented, reviewed and
> > > merged wrong defaults?
> > >
> > > As I know, we have explicit release only to change this default.
> > >
> > > This release is broken, isn't it?
> > >
> > I think this is just a miscommunication. Ilya made a fix which was
> exactly
> > what he meant it to be. As for the release - it may have worse usability,
> > but not more 'broken' as the previous one with the temp directory. At
> least
> > the data will not be physically removed after the machine restart.
> >
>
1234