Folks, A bit of offtop. Do we have some recommendations in the community how long should we wait until treating something as "a Community conclusion"? It worries me a little bit that I see a discussion for a first time and there is already a conclusion. And the discussion was started lesser than 24 hours ago. I suppose we should allow everyone interested to share an opinion (here I agree with the proposal) and it usually requires some time in open-source communities.
ср, 5 февр. 2020 г. в 10:58, Ivan Rakov <ivan.glu...@gmail.com>: > > Folks, > > Thanks for your feedback. > I've created a JIRA issue on this change: > https://issues.apache.org/jira/browse/IGNITE-12622 > > On Tue, Feb 4, 2020 at 10:43 PM Denis Magda <dma...@apache.org> wrote: > > > +1 from my end. It doesn't sound like a big deal if Ignite users need to > > define separate groups for atomic and transactional caches. > > > > - > > Denis > > > > > > On Tue, Feb 4, 2020 at 3:28 AM Ivan Rakov <ivan.glu...@gmail.com> wrote: > > > > > Igniters, > > > > > > Apparently it's possible in Ignite to configure a cache group with both > > > ATOMIC and TRANSACTIONAL caches. > > > Proof: IgniteCacheGroupsTest#testContinuousQueriesMultipleGroups* tests. > > > In my opinion, it would be better to remove such possibility from the > > > product. There are several reasons: > > > > > > 1) The original idea of grouping caches was optimizing storage overhead > > and > > > PME time by joining data of similar caches into the same partitions. > > ATOMIC > > > and TRANSACTIONAL caches provide different guarantees and are designed > > for > > > different use cases, thus they can hardly be called "similar". > > > > > > 2) Diving deeper: synchronization protocols and possible reasons for > > > primary-backup divergences are conceptually different for ATOMIC and > > > TRANSACTIONAL cases. In TRANSACTIONAL case, transactions recovery > > protocol > > > allows to recover consistency if any participating node will fail, but > > for > > > ATOMIC caches there's possible scenario with failure of primary node > > where > > > neither of backups will contain the most recent state of the data. > > Example: > > > one backup have received updates 1, 3, 5 while another have received 2, 4 > > > (which is possible due to message reordering), and even tracking counters > > > [1] won't restore the consistency. The problem is that we can't > > distinguish > > > what kind of conflict we have faced in case update counters have diverged > > > in a mixed group. > > > > > > 3) Mixed groups are poorly tested. I can't find any tests except a couple > > > of smoke tests in IgniteCacheGroupsTest. We can't be sure that different > > > synchronization protocols will work correctly for such configurations, > > > especially under load and with a variety of dependent configuration > > > parameters. > > > > > > 4) I have never heard of any feedback on mixed groups. I have asked > > > different people on this and no one recalled any attempts to configure > > such > > > groups. I believe that in fact no one has ever tried to do it. > > > > > > Please let me know if you are aware of any cases where mixed groups are > > > used or reasons to keep them. Otherwise I'll create a ticket to prohibit > > > mixed configurations. > > > > > > [1]: https://issues.apache.org/jira/browse/IGNITE-11797 > > > > > > -- > > > Best Regards, > > > Ivan Rakov > > > > > -- Best regards, Ivan Pavlukhin