Re: Two-phase commit failure recovery

2016-11-19 Thread vkulichenko
Yes, CacheStore.load() will be called automatically in case coordinator node fails in the middle of commit. But in your case I'm not quite sure it will always work, because DB updates are actually asynchronous. Real synchronous write-through to the DB is the only way to guarantee transactional cons

Re: Two-phase commit failure recovery

2016-11-19 Thread akaptsan
Can I be sure that in case of commit failure Ignite will always invoke CacheStore.load() for all invalidated objects? -- View this message in context: http://apache-ignite-users.70518.x6.nabble.com/Two-phase-commit-failure-recovery-tp9040p9103.html Sent from the Apache Ignite Users mailing list

Re: Two-phase commit failure recovery

2016-11-19 Thread akaptsan
We do use CacheStore write-through methods. Data are flushed to Kafka which is used as intermediate persistent queue; data from the Kafka is written into relational database asyncroniously. So from Ignite perspective it looks like write-through, but in fact this is fault-tolerant write-behind. W

Re: Two-phase commit failure recovery

2016-11-18 Thread vkulichenko
This blog is not about consistency within the cache, but about keeping cache and the database consistent with each other. I.e., you can't end up with an update that was successful in cache, but not successful in the database. And automatic reloading is used to guarantee that in case of coordinator

Re: Two-phase commit failure recovery

2016-11-18 Thread akaptsan
We use SQL queries that's why we have to pre-load all data. For data loading we use IgniteDataStreamer and don't use CacheStore. In case of two-phase commit failure Ignite will not be able to automatically reload invalidated data -- View this message in context: http://apache-ignite-users.70

Re: Two-phase commit failure recovery

2016-11-18 Thread vkulichenko
To be honest I'm not sure I understand what you mean because these two topics are completely unrelated to each other. Can you elaborate? -Val -- View this message in context: http://apache-ignite-users.70518.x6.nabble.com/Two-phase-commit-failure-recovery-tp9040p9090.html Sent from the Apache

Re: Two-phase commit failure recovery

2016-11-18 Thread akaptsan
Problem is we can't use standart cache loading due to http://apache-ignite-users.70518.x6.nabble.com/SQL-query-against-cache-with-read-through-CacheStore-td9039.html We need implement some custom logic to handle this situation: report the problem to administrator, switch-off cache usage, invalidate

Re: Two-phase commit failure recovery

2016-11-17 Thread alexey.goncharuk
Hi, Note that the step described in the blog happens when a node that originated a transaction crashes. In this case: 1. Ignite will reload the relevant data automatically 2. Not sure what you mean here. From a cluster point of view this happens when a node leaves grid and a corresponding part of