Yes, if key wasn't flushed (end event wasn't collected by flusher thread to flush) - it will be just overwritten in memory with new value (doesn't matter what operation, i.e. insert can be overwritten to delete or visa versa). So in your example if WB cache get insert k1 =0, k2=2, k3 =3 and delete k1=0 and don't start flush between these operations - it eventually write to store: deleteAll( k1=0 ), writeAll( k2=2, k3=3 ). Of course, WB cache must process deleteAll ( k1=0 ) because it can't know if the k1 key already be in store before our example. You can read about it in https://apacheignite.readme.io/docs/persistent-store#write-behind-caching
2017-05-11 0:24 GMT+07:00 waterg <[email protected]>: > Thank you for the quick explaining and creating jira tickets. > > Just a thought: > If insert k1 =0, k2=2, k3 =3 and delete k1=0 and k1 is not being flushed to > store yet, would it be possible to just delete in memory, w/o flushing to > store? and deleteAll for all k1 like records that have been flushed to > store? > > > > -- > View this message in context: http://apache-ignite-users. > 70518.x6.nabble.com/Write-Behind-with-delete- > performance-tp12580p12604.html > Sent from the Apache Ignite Users mailing list archive at Nabble.com. >
