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