You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by Ilya Kasnacheev <il...@gmail.com> on 2019/09/02 10:33:52 UTC

Re: Replacing default work dir from tmp to current dir

Hello!

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

Regards,
-- 
Ilya Kasnacheev


пт, 30 авг. 2019 г. в 21:48, Denis Magda <dm...@apache.org>:

> Ilya,
>
> I forgot to push "Send for review" button. You can see my minor comment
> now.
>
> -
> Denis
>
>
> On Fri, Aug 30, 2019 at 5:47 AM Ilya Kasnacheev <ilya.kasnacheev@gmail.com
> >
> wrote:
>
> > Hello!
> >
> > Waiting for a minor comment from Denis, as soon as I see/fix it I'm going
> > to commit.
> >
> > Regards,
> > Ilya.
> > --
> > Ilya Kasnacheev
> >
> >
> > пт, 30 авг. 2019 г. в 11:30, Alexey Goncharuk <
> alexey.goncharuk@gmail.com
> > >:
> >
> > > Hello Ilya,
> > >
> > > Just curious, when are you planning to commit your changes to the 2.7.6
> > > branch?
> > >
> > > ср, 28 авг. 2019 г. в 04:57, Denis Magda <dm...@apache.org>:
> > >
> > > > Ok, seems like we came to a consensus. Let’s ensure that the path for
> > our
> > > > work dir is user.dir/ignite/work and restart the vote.
> > > >
> > > > Denis
> > > >
> > > > On Tuesday, August 27, 2019, Ilya Kasnacheev <
> > ilya.kasnacheev@gmail.com>
> > > > wrote:
> > > >
> > > > > Hello!
> > > > >
> > > > > I have took the liberty to implement the change to existing code
> base
> > > to
> > > > > remove concern about work/ directory:
> > > > >
> > > > > https://github.com/apache/ignite/pull/6816/files
> > > > >
> > > > > Some advocacy for this patch:
> > > > > - Minimal change.
> > > > > - Storing in user.dir/ignite/work (current directory, e.g. project
> > > root)
> > > > > which is consistent with behavior of unzipped binary release.
> > > > > - We can re-use user.dir/ignite for other uses in the future, such
> as
> > > > > storing logs there.
> > > > >
> > > > > I have to admit that my previous reaction to the change was too
> > strong.
> > > > It
> > > > > turned out the default was user.dir/work (project root) and not
> > > > > user.home/work (home dir with imminent Work collision).
> > > > > Nevertheless, I think that after this change it would be good
> enough
> > to
> > > > > last for a few years.
> > > > >
> > > > > What do you think?
> > > > >
> > > > > Regards,
> > > > > --
> > > > > Ilya Kasnacheev
> > > > >
> > > > >
> > > > > вт, 27 авг. 2019 г. в 18:28, Alexey Goncharuk <
> > > > alexey.goncharuk@gmail.com
> > > > > >:
> > > > >
> > > > > > In the current state of the project, we cannot directly compare
> > > Ignite
> > > > > > setup process to the one of postgresql or another database. In
> many
> > > > > Ignite
> > > > > > examples, an embedded node (even with persistence) is started and
> > it
> > > is
> > > > > > supposed to run without any additional FS rights grants or init
> > > steps.
> > > > > This
> > > > > > may be changed in 3.0, but not in a maintenance release. If we
> are
> > to
> > > > > > change the directory to /var/lib, I would rather fail Ignite node
> > > start
> > > > > > asking a user to explicitly provide work directory path. Let
> alone
> > > > > /var/lib
> > > > > > is not portable and I would not add an OS-switch to the code for
> no
> > > > > reason.
> > > > > >
> > > > > > I vote for storing the work in ~/ignite/work - agree with Ilya
> that
> > > > > writing
> > > > > > large amounts of data in a hidden folder is a bad idea.
> > > > > >
> > > > > > вт, 27 авг. 2019 г. в 15:17, Dmitriy Pavlov <dpavlov@apache.org
> >:
> > > > > >
> > > > > > > Hi Igniters,
> > > > > > >
> > > > > > > I agree that user home maybe not the best place from Linux
> > > > perspective
> > > > > > and
> > > > > > > philosophy, but  "user.home"/ignite/work  is more or less
> > portable.
> > > > > > >
> > > > > > > For the Linux environment, we can add a suggestion about where
> to
> > > > place
> > > > > > > persisted data. For very first testing of Apache Ignite user
> home
> > > > still
> > > > > > > looks good for me.
> > > > > > >
> > > > > > > Sincerely,
> > > > > > > Dmitriy Pavlov
> > > > > > >
> > > > > > > вт, 27 авг. 2019 г. в 11:56, Pavel Pereslegin <
> xxtern@gmail.com
> > >:
> > > > > > >
> > > > > > > > Or instead of a WARNING, we can add a suggestion with a
> > > > > recommendation
> > > > > > > > for the production environment.
> > > > > > > >
> > > > > > > > вт, 27 авг. 2019 г. в 11:41, Petr Ivanov <
> mr.weider@gmail.com
> > >:
> > > > > > > > >
> > > > > > > > > /opt is either does not exist on fresh system, or has the
> > same
> > > > > > > > restriction: no user access without admin intervention.
> > > > > > > > > /usr/local, /var/lib, etc. — all this is implemented in our
> > > DEB /
> > > > > RPM
> > > > > > > > packages already.
> > > > > > > > >
> > > > > > > > > For ZIP installation %HOME% seems to be the best approach
> for
> > > > > > "2-click"
> > > > > > > > launch.
> > > > > > > > > Later user can update preferences and set working dir to
> > > whatever
> > > > > > > > directory he would like.
> > > > > > > > >
> > > > > > > > > Also — we can put WARNING message to log noting that
> WORK_DIR
> > > is
> > > > > set
> > > > > > to
> > > > > > > > default.
> > > > > > > > >
> > > > > > > > > > On 27 Aug 2019, at 10:16, Zhenya Stanilovsky
> > > > > > > > <ar...@mail.ru.INVALID> wrote:
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > And what about /opt/ignite ?
> > > > > > > > > >
> > > > > > > > > > copy-paste:
> > > > > > > > > > "
> > > > > > > > > > The basic difference is that  /usr/local  is for software
> > not
> > > > > > managed
> > > > > > > > by the system packager, but still following the standard unix
> > > > > > deployment
> > > > > > > > rules.
> > > > > > > > > > That's why you have  /usr/local/bin ,  /usr/local/sbin
> > > > > > > >  /usr/local/include  etc...
> > > > > > > > > > /opt  on the other hand is for software that doesn't
> follow
> > > > this
> > > > > > and
> > > > > > > > is deployed in a monolithic fashion. This usually includes
> > > > commercial
> > > > > > > > and/or cross-platform software that is packaged in the
> > "Windows"
> > > > > > style. "
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >> Понедельник, 26 августа 2019, 22:49 +03:00 от Denis
> Magda
> > <
> > > > > > > > dmagda@apache.org>:
> > > > > > > > > >>
> > > > > > > > > >> Igniters,
> > > > > > > > > >>
> > > > > > > > > >> I can't disagree with Nikolay that, as a database,
> Ignite
> > > > needs
> > > > > to
> > > > > > > > persist
> > > > > > > > > >> changes to a folder different from "user.home" one. But
> > with
> > > > the
> > > > > > > > current
> > > > > > > > > >> rate of project growth and adoption, I would encourage
> us
> > to
> > > > > > > > eliminate any
> > > > > > > > > >> possible obstacles a user might come across during the
> > > getting
> > > > > > > started
> > > > > > > > > >> phase with Ignite. Unfortunately, folders different from
> > > > > > "user.home"
> > > > > > > > imply
> > > > > > > > > >> a significant restriction - the user needs to allow
> access
> > > to
> > > > > > > folders
> > > > > > > > like
> > > > > > > > > >> /lib, /etc; which can make every getting started demo or
> > app
> > > > > fail.
> > > > > > > > > >>
> > > > > > > > > >> Thus, today, I'm casting my vote for
> > "user.home"/ignite/work
> > > > > > > > directory.
> > > > > > > > > >> Please don't forget about Windows and MacOS.
> > > > > > > > > >>
> > > > > > > > > >> -
> > > > > > > > > >> Denis
> > > > > > > > > >>
> > > > > > > > > >>
> > > > > > > > > >> On Mon, Aug 26, 2019 at 7:09 AM Pavel Tupitsyn <
> > > > > > > ptupitsyn@apache.org
> > > > > > > > > wrote:
> > > > > > > > > >>
> > > > > > > > > >>> +1 for  ~/.ignite/work
> > > > > > > > > >>>
> > > > > > > > > >>> As Petr mentioned above, this translates well to
> Windows
> > > and
> > > > > > MacOS
> > > > > > > > too, we
> > > > > > > > > >>> can use "home directory" term in documentation and it
> > works
> > > > for
> > > > > > any
> > > > > > > > OS.
> > > > > > > > > >>>
> > > > > > > > > >>> On Mon, Aug 26, 2019 at 4:03 PM Nikolay Izhikov <
> > > > > > > > nizhikov@apache.org >
> > > > > > > > > >>> wrote:
> > > > > > > > > >>>
> > > > > > > > > >>>> AFAIK server admin expects software will store it's
> data
> > > in
> > > > > > /var/
> > > > > > > > > >>>> directory, not in /home directory.
> > > > > > > > > >>>>
> > > > > > > > > >>>>> In Docker age, packages are becoming extinct.
> > > > > > > > > >>>>
> > > > > > > > > >>>> I don't agree with that, but seems, it's not a subject
> > of
> > > > > > > > discussion. :)
> > > > > > > > > >>>>
> > > > > > > > > >>>>> we don't even have very good packages today
> > > > > > > > > >>>>
> > > > > > > > > >>>> Why do you think we don't have good packages?
> > > > > > > > > >>>> What is wrong with the current one?
> > > > > > > > > >>>>
> > > > > > > > > >>>>> I also think we should not copy what other DBMS do
> > since
> > > > > their
> > > > > > > > > >>>> ease-of-use
> > > > > > > > > >>>>> is usually lacking
> > > > > > > > > >>>>
> > > > > > > > > >>>> We should define 'easy-of-use' here.
> > > > > > > > > >>>> My experience with the modern dbms(postgres and mysql)
> > is
> > > > > > > different.
> > > > > > > > > >>>>
> > > > > > > > > >>>>
> > > > > > > > > >>>> В Пн, 26/08/2019 в 15:47 +0300, Ilya Kasnacheev пишет:
> > > > > > > > > >>>>> Hello!
> > > > > > > > > >>>>>
> > > > > > > > > >>>>> I think it is 2., because if a node is run from
> Ignite
> > > > binary
> > > > > > > > > >>>> distribution
> > > > > > > > > >>>>> it has its root as a ignite work directory. I think
> it
> > it
> > > > > > another
> > > > > > > > > >>>> argument
> > > > > > > > > >>>>> for keeping data under current dir - Ignite binary
> > > > > distribution
> > > > > > > > already
> > > > > > > > > >>>>> does it, why should embedded scenario be different?
> > > > > > > > > >>>>>
> > > > > > > > > >>>>> In Docker age, packages are becoming extinct. Nobody
> > > wants
> > > > > them
> > > > > > > > > >>> anymore,
> > > > > > > > > >>>>> anyway. I don't see why we should aim for those since
> > we
> > > > > don't
> > > > > > > even
> > > > > > > > > >>> have
> > > > > > > > > >>>>> very good packages today, and nobody wants to
> > contribute
> > > > > > towards
> > > > > > > > their
> > > > > > > > > >>>>> improvement.
> > > > > > > > > >>>>>
> > > > > > > > > >>>>> I also think we should not copy what other DBMS do
> > since
> > > > > their
> > > > > > > > > >>>> ease-of-use
> > > > > > > > > >>>>> is usually lacking (this is from someone who had to
> > > support
> > > > > > mysql
> > > > > > > > and
> > > > > > > > > >>>> pgsql
> > > > > > > > > >>>>> deployments).
> > > > > > > > > >>>>>
> > > > > > > > > >>>>> Regards,
> > > > > > > > > >>>>
> > > > > > > > > >>>
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > --
> > > > > > > > > > Zhenya Stanilovsky
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > > >
> > > > --
> > > > -
> > > > Denis
> > > >
> > >
> >
>

Re: Replacing default work dir from tmp to current dir

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



-- 
Best regards,
Ivan Pavlukhin


Re: Replacing default work dir from tmp to current dir

Posted by Denis Magda <dm...@apache.org>.
Ilya, thanks for the ticket.

However, I would advise us to enforce "user.home" as the only one default
instead of the proposed fallback mechanism. There is already a lot "if else
if else if else" scenarios in Ignite. Let's focus on simplicity and stick
to one possible option when it works. This case is an example when one
option is doable and preferred.

Btw, sounds like 2.7.7?

-
Denis


On Fri, Oct 4, 2019 at 8:34 AM Ilya Kasnacheev <il...@gmail.com>
wrote:

> Hello!
>
> I have created https://issues.apache.org/jira/browse/IGNITE-12260
>
> Regards,
> --
> Ilya Kasnacheev
>
>
> пт, 4 окт. 2019 г. в 10:16, Ivan Pavlukhin <vo...@gmail.com>:
>
> > Interesting things about those LINQPad/JPad scenarios. Was not aware
> > of it. Still some doubts about applicability. It seems to me that JPad
> > having work dir in "Program Files" have a lot of problems by itself,
> > e.g. a user is not able to run basic file IO snippets with relative
> > file paths.
> >
> > чт, 3 окт. 2019 г. в 23:24, Pavel Tupitsyn <pt...@apache.org>:
> > >
> > > Ilya, fallback is a good idea.
> > > Still I'd prefer to have user.home as a default, and fallback to
> user.dir
> > > when home does not work for some reason.
> > >
> > > On Thu, Oct 3, 2019 at 11:07 PM Ilya Kasnacheev <
> > ilya.kasnacheev@gmail.com>
> > > wrote:
> > >
> > > > Hello!
> > > >
> > > > We can try and fallback to home dir with warning, when file cannot be
> > > > created in current dir.
> > > >
> > > > WDYT?
> > > >
> > > > Regards,
> > > > --
> > > > Ilya Kasnacheev
> > > >
> > > >
> > > > чт, 3 окт. 2019 г. в 20:05, Pavel Tupitsyn <pt...@apache.org>:
> > > >
> > > > > >  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 <
> > > > ilya.kasnacheev@gmail.com>
> > > > > 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 <
> > > > alexey.goncharuk@gmail.com
> > > > > >:
> > > > > >
> > > > > > > >
> > > > > > > > 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.
> > > > > > >
> > > > > >
> > > > >
> > > >
> >
> >
> >
> > --
> > Best regards,
> > Ivan Pavlukhin
> >
>

Re: Replacing default work dir from tmp to current dir

Posted by Ilya Kasnacheev <il...@gmail.com>.
Hello!

I have created https://issues.apache.org/jira/browse/IGNITE-12260

Regards,
-- 
Ilya Kasnacheev


пт, 4 окт. 2019 г. в 10:16, Ivan Pavlukhin <vo...@gmail.com>:

> Interesting things about those LINQPad/JPad scenarios. Was not aware
> of it. Still some doubts about applicability. It seems to me that JPad
> having work dir in "Program Files" have a lot of problems by itself,
> e.g. a user is not able to run basic file IO snippets with relative
> file paths.
>
> чт, 3 окт. 2019 г. в 23:24, Pavel Tupitsyn <pt...@apache.org>:
> >
> > Ilya, fallback is a good idea.
> > Still I'd prefer to have user.home as a default, and fallback to user.dir
> > when home does not work for some reason.
> >
> > On Thu, Oct 3, 2019 at 11:07 PM Ilya Kasnacheev <
> ilya.kasnacheev@gmail.com>
> > wrote:
> >
> > > Hello!
> > >
> > > We can try and fallback to home dir with warning, when file cannot be
> > > created in current dir.
> > >
> > > WDYT?
> > >
> > > Regards,
> > > --
> > > Ilya Kasnacheev
> > >
> > >
> > > чт, 3 окт. 2019 г. в 20:05, Pavel Tupitsyn <pt...@apache.org>:
> > >
> > > > >  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 <
> > > ilya.kasnacheev@gmail.com>
> > > > 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 <
> > > alexey.goncharuk@gmail.com
> > > > >:
> > > > >
> > > > > > >
> > > > > > > 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.
> > > > > >
> > > > >
> > > >
> > >
>
>
>
> --
> Best regards,
> Ivan Pavlukhin
>

Re: Replacing default work dir from tmp to current dir

Posted by Ivan Pavlukhin <vo...@gmail.com>.
Interesting things about those LINQPad/JPad scenarios. Was not aware
of it. Still some doubts about applicability. It seems to me that JPad
having work dir in "Program Files" have a lot of problems by itself,
e.g. a user is not able to run basic file IO snippets with relative
file paths.

чт, 3 окт. 2019 г. в 23:24, Pavel Tupitsyn <pt...@apache.org>:
>
> Ilya, fallback is a good idea.
> Still I'd prefer to have user.home as a default, and fallback to user.dir
> when home does not work for some reason.
>
> On Thu, Oct 3, 2019 at 11:07 PM Ilya Kasnacheev <il...@gmail.com>
> wrote:
>
> > Hello!
> >
> > We can try and fallback to home dir with warning, when file cannot be
> > created in current dir.
> >
> > WDYT?
> >
> > Regards,
> > --
> > Ilya Kasnacheev
> >
> >
> > чт, 3 окт. 2019 г. в 20:05, Pavel Tupitsyn <pt...@apache.org>:
> >
> > > >  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 <
> > ilya.kasnacheev@gmail.com>
> > > 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 <
> > alexey.goncharuk@gmail.com
> > > >:
> > > >
> > > > > >
> > > > > > 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.
> > > > >
> > > >
> > >
> >



-- 
Best regards,
Ivan Pavlukhin

Re: Replacing default work dir from tmp to current dir

Posted by Pavel Tupitsyn <pt...@apache.org>.
Ilya, fallback is a good idea.
Still I'd prefer to have user.home as a default, and fallback to user.dir
when home does not work for some reason.

On Thu, Oct 3, 2019 at 11:07 PM Ilya Kasnacheev <il...@gmail.com>
wrote:

> Hello!
>
> We can try and fallback to home dir with warning, when file cannot be
> created in current dir.
>
> WDYT?
>
> Regards,
> --
> Ilya Kasnacheev
>
>
> чт, 3 окт. 2019 г. в 20:05, Pavel Tupitsyn <pt...@apache.org>:
>
> > >  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 <
> ilya.kasnacheev@gmail.com>
> > 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 <
> alexey.goncharuk@gmail.com
> > >:
> > >
> > > > >
> > > > > 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.
> > > >
> > >
> >
>

Re: Replacing default work dir from tmp to current dir

Posted by Ilya Kasnacheev <il...@gmail.com>.
Hello!

We can try and fallback to home dir with warning, when file cannot be
created in current dir.

WDYT?

Regards,
-- 
Ilya Kasnacheev


чт, 3 окт. 2019 г. в 20:05, Pavel Tupitsyn <pt...@apache.org>:

> >  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 <il...@gmail.com>
> 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 <alexey.goncharuk@gmail.com
> >:
> >
> > > >
> > > > 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.
> > >
> >
>

Re: Replacing default work dir from tmp to current dir

Posted by Pavel Tupitsyn <pt...@apache.org>.
>  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 <il...@gmail.com>
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 <al...@gmail.com>:
>
> > >
> > > 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.
> >
>

Re: Replacing default work dir from tmp to current dir

Posted by Ilya Kasnacheev <il...@gmail.com>.
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 <al...@gmail.com>:

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

Re: Replacing default work dir from tmp to current dir

Posted by Alexey Goncharuk <al...@gmail.com>.
>
> 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.

Re: Replacing default work dir from tmp to current dir

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

Re: Replacing default work dir from tmp to current dir

Posted by Alexey Goncharuk <al...@gmail.com>.
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 <ni...@apache.org>:

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

Re: Replacing default work dir from tmp to current dir

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

Re: Replacing default work dir from tmp to current dir

Posted by Pavel Tupitsyn <pt...@apache.org>.
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 <vo...@gmail.com> wrote:

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

Re: Replacing default work dir from tmp to current dir

Posted by Ivan Pavlukhin <vo...@gmail.com>.
As for .NET. Should not we define IGNITE_HOME for it?

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



-- 
Best regards,
Ivan Pavlukhin

Re: Replacing default work dir from tmp to current dir

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



-- 
Best regards,
Ivan Pavlukhin

Re: Replacing default work dir from tmp to current dir

Posted by Alexey Goncharuk <al...@gmail.com>.
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 <dm...@apache.org>:

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

Re: Replacing default work dir from tmp to current dir

Posted by Denis Magda <dm...@apache.org>.
I was always expecting this to be a user *home* directory that can be
resolved in any operating system and will work for any language supported
by Ignite. So, I'm with Pavel here.

Alex G, what's your thinking? Sounds like we need to change this one more
time.

-
Denis


On Wed, Oct 2, 2019 at 12:17 PM Pavel Tupitsyn <pt...@apache.org> wrote:

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

Re: Replacing default work dir from tmp to current dir

Posted by Pavel Tupitsyn <pt...@apache.org>.
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 <il...@gmail.com>
wrote:

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

Re: Replacing default work dir from tmp to current dir

Posted by Ilya Kasnacheev <il...@gmail.com>.
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 <pt...@apache.org>:

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

Re: Replacing default work dir from tmp to current dir

Posted by Pavel Tupitsyn <pt...@apache.org>.
Igniters,

Looks like we made a mistake while implementing IGNITE-12057:
`user.dir` is NOT user home directory, it is where JVM has been started
from, which is rather arbitrary.
(Among other things this breaks Ignite.NET usage from tools like LINQPad,
because `user.dir` ends up pointing to Program Files, which is not
writable without elevation)

We should use `user.home` system property instead, see
https://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html

Thoughts, objections?

On Mon, Sep 2, 2019 at 1:57 PM Ilya Kasnacheev <il...@gmail.com>
wrote:

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

Re: Replacing default work dir from tmp to current dir

Posted by Ilya Kasnacheev <il...@gmail.com>.
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 <il...@gmail.com>:

> Hello!
>
> I have pushed an amended fix to both master and ignite-2.7.6.
>
> Regards,
> --
> Ilya Kasnacheev
>
>
> пт, 30 авг. 2019 г. в 21:48, Denis Magda <dm...@apache.org>:
>
>> Ilya,
>>
>> I forgot to push "Send for review" button. You can see my minor comment
>> now.
>>
>> -
>> Denis
>>
>>
>> On Fri, Aug 30, 2019 at 5:47 AM Ilya Kasnacheev <
>> ilya.kasnacheev@gmail.com>
>> wrote:
>>
>> > Hello!
>> >
>> > Waiting for a minor comment from Denis, as soon as I see/fix it I'm
>> going
>> > to commit.
>> >
>> > Regards,
>> > Ilya.
>> > --
>> > Ilya Kasnacheev
>> >
>> >
>> > пт, 30 авг. 2019 г. в 11:30, Alexey Goncharuk <
>> alexey.goncharuk@gmail.com
>> > >:
>> >
>> > > Hello Ilya,
>> > >
>> > > Just curious, when are you planning to commit your changes to the
>> 2.7.6
>> > > branch?
>> > >
>> > > ср, 28 авг. 2019 г. в 04:57, Denis Magda <dm...@apache.org>:
>> > >
>> > > > Ok, seems like we came to a consensus. Let’s ensure that the path
>> for
>> > our
>> > > > work dir is user.dir/ignite/work and restart the vote.
>> > > >
>> > > > Denis
>> > > >
>> > > > On Tuesday, August 27, 2019, Ilya Kasnacheev <
>> > ilya.kasnacheev@gmail.com>
>> > > > wrote:
>> > > >
>> > > > > Hello!
>> > > > >
>> > > > > I have took the liberty to implement the change to existing code
>> base
>> > > to
>> > > > > remove concern about work/ directory:
>> > > > >
>> > > > > https://github.com/apache/ignite/pull/6816/files
>> > > > >
>> > > > > Some advocacy for this patch:
>> > > > > - Minimal change.
>> > > > > - Storing in user.dir/ignite/work (current directory, e.g. project
>> > > root)
>> > > > > which is consistent with behavior of unzipped binary release.
>> > > > > - We can re-use user.dir/ignite for other uses in the future,
>> such as
>> > > > > storing logs there.
>> > > > >
>> > > > > I have to admit that my previous reaction to the change was too
>> > strong.
>> > > > It
>> > > > > turned out the default was user.dir/work (project root) and not
>> > > > > user.home/work (home dir with imminent Work collision).
>> > > > > Nevertheless, I think that after this change it would be good
>> enough
>> > to
>> > > > > last for a few years.
>> > > > >
>> > > > > What do you think?
>> > > > >
>> > > > > Regards,
>> > > > > --
>> > > > > Ilya Kasnacheev
>> > > > >
>> > > > >
>> > > > > вт, 27 авг. 2019 г. в 18:28, Alexey Goncharuk <
>> > > > alexey.goncharuk@gmail.com
>> > > > > >:
>> > > > >
>> > > > > > In the current state of the project, we cannot directly compare
>> > > Ignite
>> > > > > > setup process to the one of postgresql or another database. In
>> many
>> > > > > Ignite
>> > > > > > examples, an embedded node (even with persistence) is started
>> and
>> > it
>> > > is
>> > > > > > supposed to run without any additional FS rights grants or init
>> > > steps.
>> > > > > This
>> > > > > > may be changed in 3.0, but not in a maintenance release. If we
>> are
>> > to
>> > > > > > change the directory to /var/lib, I would rather fail Ignite
>> node
>> > > start
>> > > > > > asking a user to explicitly provide work directory path. Let
>> alone
>> > > > > /var/lib
>> > > > > > is not portable and I would not add an OS-switch to the code
>> for no
>> > > > > reason.
>> > > > > >
>> > > > > > I vote for storing the work in ~/ignite/work - agree with Ilya
>> that
>> > > > > writing
>> > > > > > large amounts of data in a hidden folder is a bad idea.
>> > > > > >
>> > > > > > вт, 27 авг. 2019 г. в 15:17, Dmitriy Pavlov <dpavlov@apache.org
>> >:
>> > > > > >
>> > > > > > > Hi Igniters,
>> > > > > > >
>> > > > > > > I agree that user home maybe not the best place from Linux
>> > > > perspective
>> > > > > > and
>> > > > > > > philosophy, but  "user.home"/ignite/work  is more or less
>> > portable.
>> > > > > > >
>> > > > > > > For the Linux environment, we can add a suggestion about
>> where to
>> > > > place
>> > > > > > > persisted data. For very first testing of Apache Ignite user
>> home
>> > > > still
>> > > > > > > looks good for me.
>> > > > > > >
>> > > > > > > Sincerely,
>> > > > > > > Dmitriy Pavlov
>> > > > > > >
>> > > > > > > вт, 27 авг. 2019 г. в 11:56, Pavel Pereslegin <
>> xxtern@gmail.com
>> > >:
>> > > > > > >
>> > > > > > > > Or instead of a WARNING, we can add a suggestion with a
>> > > > > recommendation
>> > > > > > > > for the production environment.
>> > > > > > > >
>> > > > > > > > вт, 27 авг. 2019 г. в 11:41, Petr Ivanov <
>> mr.weider@gmail.com
>> > >:
>> > > > > > > > >
>> > > > > > > > > /opt is either does not exist on fresh system, or has the
>> > same
>> > > > > > > > restriction: no user access without admin intervention.
>> > > > > > > > > /usr/local, /var/lib, etc. — all this is implemented in
>> our
>> > > DEB /
>> > > > > RPM
>> > > > > > > > packages already.
>> > > > > > > > >
>> > > > > > > > > For ZIP installation %HOME% seems to be the best approach
>> for
>> > > > > > "2-click"
>> > > > > > > > launch.
>> > > > > > > > > Later user can update preferences and set working dir to
>> > > whatever
>> > > > > > > > directory he would like.
>> > > > > > > > >
>> > > > > > > > > Also — we can put WARNING message to log noting that
>> WORK_DIR
>> > > is
>> > > > > set
>> > > > > > to
>> > > > > > > > default.
>> > > > > > > > >
>> > > > > > > > > > On 27 Aug 2019, at 10:16, Zhenya Stanilovsky
>> > > > > > > > <ar...@mail.ru.INVALID> wrote:
>> > > > > > > > > >
>> > > > > > > > > >
>> > > > > > > > > > And what about /opt/ignite ?
>> > > > > > > > > >
>> > > > > > > > > > copy-paste:
>> > > > > > > > > > "
>> > > > > > > > > > The basic difference is that  /usr/local  is for
>> software
>> > not
>> > > > > > managed
>> > > > > > > > by the system packager, but still following the standard
>> unix
>> > > > > > deployment
>> > > > > > > > rules.
>> > > > > > > > > > That's why you have  /usr/local/bin ,  /usr/local/sbin
>> > > > > > > >  /usr/local/include  etc...
>> > > > > > > > > > /opt  on the other hand is for software that doesn't
>> follow
>> > > > this
>> > > > > > and
>> > > > > > > > is deployed in a monolithic fashion. This usually includes
>> > > > commercial
>> > > > > > > > and/or cross-platform software that is packaged in the
>> > "Windows"
>> > > > > > style. "
>> > > > > > > > > >
>> > > > > > > > > >
>> > > > > > > > > >> Понедельник, 26 августа 2019, 22:49 +03:00 от Denis
>> Magda
>> > <
>> > > > > > > > dmagda@apache.org>:
>> > > > > > > > > >>
>> > > > > > > > > >> Igniters,
>> > > > > > > > > >>
>> > > > > > > > > >> I can't disagree with Nikolay that, as a database,
>> Ignite
>> > > > needs
>> > > > > to
>> > > > > > > > persist
>> > > > > > > > > >> changes to a folder different from "user.home" one. But
>> > with
>> > > > the
>> > > > > > > > current
>> > > > > > > > > >> rate of project growth and adoption, I would encourage
>> us
>> > to
>> > > > > > > > eliminate any
>> > > > > > > > > >> possible obstacles a user might come across during the
>> > > getting
>> > > > > > > started
>> > > > > > > > > >> phase with Ignite. Unfortunately, folders different
>> from
>> > > > > > "user.home"
>> > > > > > > > imply
>> > > > > > > > > >> a significant restriction - the user needs to allow
>> access
>> > > to
>> > > > > > > folders
>> > > > > > > > like
>> > > > > > > > > >> /lib, /etc; which can make every getting started demo
>> or
>> > app
>> > > > > fail.
>> > > > > > > > > >>
>> > > > > > > > > >> Thus, today, I'm casting my vote for
>> > "user.home"/ignite/work
>> > > > > > > > directory.
>> > > > > > > > > >> Please don't forget about Windows and MacOS.
>> > > > > > > > > >>
>> > > > > > > > > >> -
>> > > > > > > > > >> Denis
>> > > > > > > > > >>
>> > > > > > > > > >>
>> > > > > > > > > >> On Mon, Aug 26, 2019 at 7:09 AM Pavel Tupitsyn <
>> > > > > > > ptupitsyn@apache.org
>> > > > > > > > > wrote:
>> > > > > > > > > >>
>> > > > > > > > > >>> +1 for  ~/.ignite/work
>> > > > > > > > > >>>
>> > > > > > > > > >>> As Petr mentioned above, this translates well to
>> Windows
>> > > and
>> > > > > > MacOS
>> > > > > > > > too, we
>> > > > > > > > > >>> can use "home directory" term in documentation and it
>> > works
>> > > > for
>> > > > > > any
>> > > > > > > > OS.
>> > > > > > > > > >>>
>> > > > > > > > > >>> On Mon, Aug 26, 2019 at 4:03 PM Nikolay Izhikov <
>> > > > > > > > nizhikov@apache.org >
>> > > > > > > > > >>> wrote:
>> > > > > > > > > >>>
>> > > > > > > > > >>>> AFAIK server admin expects software will store it's
>> data
>> > > in
>> > > > > > /var/
>> > > > > > > > > >>>> directory, not in /home directory.
>> > > > > > > > > >>>>
>> > > > > > > > > >>>>> In Docker age, packages are becoming extinct.
>> > > > > > > > > >>>>
>> > > > > > > > > >>>> I don't agree with that, but seems, it's not a
>> subject
>> > of
>> > > > > > > > discussion. :)
>> > > > > > > > > >>>>
>> > > > > > > > > >>>>> we don't even have very good packages today
>> > > > > > > > > >>>>
>> > > > > > > > > >>>> Why do you think we don't have good packages?
>> > > > > > > > > >>>> What is wrong with the current one?
>> > > > > > > > > >>>>
>> > > > > > > > > >>>>> I also think we should not copy what other DBMS do
>> > since
>> > > > > their
>> > > > > > > > > >>>> ease-of-use
>> > > > > > > > > >>>>> is usually lacking
>> > > > > > > > > >>>>
>> > > > > > > > > >>>> We should define 'easy-of-use' here.
>> > > > > > > > > >>>> My experience with the modern dbms(postgres and
>> mysql)
>> > is
>> > > > > > > different.
>> > > > > > > > > >>>>
>> > > > > > > > > >>>>
>> > > > > > > > > >>>> В Пн, 26/08/2019 в 15:47 +0300, Ilya Kasnacheev
>> пишет:
>> > > > > > > > > >>>>> Hello!
>> > > > > > > > > >>>>>
>> > > > > > > > > >>>>> I think it is 2., because if a node is run from
>> Ignite
>> > > > binary
>> > > > > > > > > >>>> distribution
>> > > > > > > > > >>>>> it has its root as a ignite work directory. I think
>> it
>> > it
>> > > > > > another
>> > > > > > > > > >>>> argument
>> > > > > > > > > >>>>> for keeping data under current dir - Ignite binary
>> > > > > distribution
>> > > > > > > > already
>> > > > > > > > > >>>>> does it, why should embedded scenario be different?
>> > > > > > > > > >>>>>
>> > > > > > > > > >>>>> In Docker age, packages are becoming extinct. Nobody
>> > > wants
>> > > > > them
>> > > > > > > > > >>> anymore,
>> > > > > > > > > >>>>> anyway. I don't see why we should aim for those
>> since
>> > we
>> > > > > don't
>> > > > > > > even
>> > > > > > > > > >>> have
>> > > > > > > > > >>>>> very good packages today, and nobody wants to
>> > contribute
>> > > > > > towards
>> > > > > > > > their
>> > > > > > > > > >>>>> improvement.
>> > > > > > > > > >>>>>
>> > > > > > > > > >>>>> I also think we should not copy what other DBMS do
>> > since
>> > > > > their
>> > > > > > > > > >>>> ease-of-use
>> > > > > > > > > >>>>> is usually lacking (this is from someone who had to
>> > > support
>> > > > > > mysql
>> > > > > > > > and
>> > > > > > > > > >>>> pgsql
>> > > > > > > > > >>>>> deployments).
>> > > > > > > > > >>>>>
>> > > > > > > > > >>>>> Regards,
>> > > > > > > > > >>>>
>> > > > > > > > > >>>
>> > > > > > > > > >
>> > > > > > > > > >
>> > > > > > > > > > --
>> > > > > > > > > > Zhenya Stanilovsky
>> > > > > > > > >
>> > > > > > > >
>> > > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > > >
>> > > > --
>> > > > -
>> > > > Denis
>> > > >
>> > >
>> >
>>
>