Hi Dmitriy,
It is a pitty that we have to guess here. Some comments:
1. The usage scenario is not very complex and erything might work well
with aforementioned patch. Unfortunately some tradeoff and extra
transformations are involved and consequently it is hard to predict
how many users will be troubled. But on a bright side the change is
seemless and perhaps nobody will be really troubled.
2. From "honest" code perspective introducing nodeStorageName seems
better to me because no (surprising) transformations are involved.
3. Also, it seems to me that original logic for choosing storage was
not designed well. From the first glance it looks strange that need
folders for a particular node in different places. Is not it much
clear to have all data of the node in a single directory isolated from
other nodes? AFAIK Hazelcast follows this approach. They generate an
error when someone is trying to launch second instance in the same
working directory. Perhaps, we at least should think about changing
our layout and consider including such change in some future release.
Thank you!
пт, 15 мар. 2019 г. в 17:55, Dmitriy Pavlov :
>
> Hi Ivan, yes, after the restart we need to re-use both folder name and UUID
> as consistent ID.
>
> About returning exact directory name: I'm just guessing here, but the
> persistent store is not the only folder, there are several more folders,
> e.g. binary-meta, etc.
>
> About several nodes reusing same root folder, yes, the proposed solution
> will not works because 00 is hardcoded here. But I expect it will be too
> rare case.
>
> Sincerely,
> Dmitriy Pavlov
>
> пт, 15 мар. 2019 г. в 11:29, Павлухин Иван :
>
> > Hi Dmitriy,
> >
> > It looks like that case with only one node in working directory is
> > covered. But what is problem is solved? As I understand before fix in
> > such case node after restart uses proper folder and proper
> > consistentId. After fix we can specify automatically generated UUID in
> > configuration and everything will go smooth. Is it the main problem
> > case? If yes then such simplicity is very attractive.
> >
> > But honestly I do not fully understand why do we need to return a node
> > to node00-UUID directory after that directory was deleted?
> >
> > чт, 14 мар. 2019 г. в 17:21, Dmitriy Pavlov :
> > >
> > > Hi, I've prepared demo PR for approach 1, just checking UUID and trying
> > to
> > > use node00-UUID. https://github.com/apache/ignite/pull/6266/ Actually
> > for
> > > this approach it is really simple, no API change is required.
> > >
> > > I guess the case is not very often because automatic folders assignment
> > > works well in most cases.
> > >
> > > WDYT?
> > >
> > > ср, 13 мар. 2019 г. в 09:42, Павлухин Иван :
> > >
> > > > Alex,
> > > >
> > > > Why do we need
> > > > > - check if consistent ID is set to a string 'nodeXX-UUID'. In this
> > case
> > > > > the consistent ID is set to UUID, and the storage folder is chosen
> > > > > according to the proper rules. This change has a minimal chance to
> > affect
> > > > > current users because it's unlikely that somebody is using
> > auto-generated
> > > > > folder naming scheme as consistent ID.
> > > > ?
> > > > It looks hacky as well. The thing I do not like here is that a
> > > > consistentId specified in configuration is not a consistentId used by
> > > > a node sometimes.
> > > >
> > > > Can we go just with
> > > > > - either check if consistent ID is an instance of UUID and then take
> > the
> > > > > appropriate folder. This approach is straightforward, but may affect
> > > > > current users
> > > > ?
> > > >
> > > > And as a last chance a user will have a possibility to rename a
> > directory.
> > > >
> > > >
> > > > вт, 12 мар. 2019 г. в 19:33, Alexey Goncharuk <
> > alexey.goncha...@gmail.com
> > > > >:
> > > > >
> > > > > Igniters,
> > > > >
> > > > > I came across the same issue during development and found no sane
> > > > > workaround for this issue. I believe the solution should be as
> > simple as
> > > > > possible because we are already adding a warning to let users know
> > that
> > > > it
> > > > > is good to specify a consistent ID in production deployments.
> > > > >
> > > > > As for the current solution, I do not like adding a new configuration
> > > > > property like 'storageFolder' because it's another way to shoot
> > yourself
> > > > in
> > > > > the leg (e.g. different nodes have different consistent IDs but
> > > > configured
> > > > > to have the same storage folder).
> > > > > Why can't we:
> > > > > - either check if consistent ID is an instance of UUID and then
> > take the
> > > > > appropriate folder. This approach is straightforward, but may affect
> > > > > current users
> > > > > - check if consistent ID is set to a string 'nodeXX-UUID'. In this
> > case
> > > > > the consistent ID is set to UUID, and the storage folder is chosen
> > > > > according to the proper rules. This change has a minimal chance to
> > affect
> > > > > current users because it's unlike