Folks, I received a number of complaints from users that our default setting favor performance at the cost of correctness and subtle behavior. Yesterday I faced one such situation on my own.
I started REPLICATED cache on several nodes, put some data, executed simple SQL and got wrong result. No errors, no warnings. The problem was caused by default PRIMARY_SYNC mode. WTF, our cache doesn't work out of the box! Another widely known examples are data streamer behavior, "read form backups" + continuous queries. I propose to change our defaults to favor *correctness* over performance, and create good documentation and JavaDocs to explain users how to tune our product. Proposed changes: 1) FULL_SYNC as default; 2) "readFromBackups=false" as default; 3) "IgniteDataStreamer.allowOverwrite=true" as default. Users should not think how to make Ignite work correctly. It should be correct out of the box. Vladimir.