ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pavel Tupitsyn <ptupit...@apache.org>
Subject Re: Replacing default work dir from tmp to current dir
Date Wed, 02 Oct 2019 19:16:50 GMT
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