Dmitry, Not yet, it looks like architectural issue. Ignite provide a error prone method for resetLostPartition state in public API.
However, IGNITE-5302 is about issue during node startup. I'd think we can use some internals (e.g. topology version) to workaround this. If you are sure IGNITE-5302 will solve 7832 then you may close as a duplicate. If IGNITE-5302 can be fixed with using some workaround, e.g. checking topology version when reset partition state, then let's keep 7832 open. On Mon, Mar 12, 2018 at 1:37 PM, Dmitry Pavlov <dpavlov....@gmail.com> wrote: > Hi Andrey, > > I remember some issue was also found in tests: > https://issues.apache.org/jira/browse/IGNITE-5302 > > Is this a consequence of the same problem? > > Sincerely, > > Dmitriy Pavlov > > пн, 12 мар. 2018 г. в 13:34, Andrey Mashenkov <andrey.mashen...@gmail.com > >: > > > Hi Igniters, > > > > I've found we no documentation how user can recover cache from cacheStore > > in case of partition loss. > > Ignite provides some instruments (methods and events) that should help > user > > to solve this problem, > > but looks like these instruments have an architecture lack. > > > > The first one is an usability issue. Ignite provides partition loss event > > to user can handle this, but Ignite fires an event per partition. > > Why we can't have an event with list of lost partitions? > > > > The second one is a bug. Ignite.resetLostPartitions() method doesn't care > > about what topology version recovered partitions belonged to. > > Tthere is a race, when user call this method after a node was failed, but > > right before Ignite fire an event. > > So, it is possible state of just lost partitions will be reseted > > unexpectedly. > > > > > > I've created a ticket for this [1] and think we should rethink the > > architecture of the partition recovery mechanics and improve > documentation. > > Any thoughts? > > > > [1] https://issues.apache.org/jira/browse/IGNITE-7832 > > > > > > -- > > Best regards, > > Andrey V. Mashenkov > > > -- Best regards, Andrey V. Mashenkov