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