ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Denis Magda <dma...@apache.org>
Subject Re: Replacing default work dir from tmp to current dir
Date Wed, 02 Oct 2019 22:44:57 GMT
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
> > > > >> > > > > > > > <arzamas123@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
> > > > >> > > >
> > > > >> > >
> > > > >> >
> > > > >>
> > > > >
> > > >
> > >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message