Igniters, as previously was found [1] in some cases transactional cache can 
contain unexpected data after node crash and further recovery. Short 
explanation: it`s all due to ignite does not save transactional records into 
the WAL.
The simplest example: 1 node cluster and transactional cache, if crash has 
occurred during transaction processing data records will be partially stored 
into the wal and further recovery procedure will apply them, as is, thus if 
transaction contain keys [k1, k2, k3] after recovery we can obtain only [k1, 
k2], of course this is unexpected and erroneous behavior. There are numerous 
variants with multi nodes on how they can obtain inconsistent data after 
recovery [2]. PR [1] (already merged into master) has changed this situation 
and i suggest to turn on by default transactional records storing and remove 
flag  IGNITE_WAL_LOG_TX_RECORDS at all.
I benchmarked (attached in issue) and found no potential slowdowns here.
Any comments ? Review is appreciated too. Thanks!
 
[1]  https://issues.apache.org/jira/browse/IGNITE-6324
[2]  
https://github.com/apache/ignite/pull/8987/files#diff-96ba20321a66ec20d0df55abcdeb0808ff6dd1d4b87b782c892496369321a593R75
[3]  https://issues.apache.org/jira/browse/IGNITE-14739
 
 
 
 

Reply via email to