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 <[email protected]> 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 <[email protected]>: > > > > 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 < > [email protected]> > > 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 < > [email protected] > > >: > > > > > > > > > > > > > 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. > > > > > > > > > >
