Guys, hope i can add one more example here.
Ones we use IgniteAtomicSequence, after topology changes some assertions can be catched due to default AtomicConfiguration
i.e.
    public static final int DFLT_BACKUPS = 0;
    public static final CacheMode DFLT_CACHE_MODE = PARTITIONED;

minimal improvements here would be to set DFLT_BACKUPS = 1; or change into REPLICATED mode.

thanks.

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.

Reply via email to