Evgeniy,

Good catch! I personally had to explain users several time why they loose
data in these cases with default configuration. "AtomicConfiguration.backups
= 0" and "CollectionConfiguration.backups = 0" as defaults is nonsense.

On Thu, Apr 20, 2017 at 3:27 PM, Evgeniy Stanilovskiy <
estanilovs...@gridgain.com> wrote:

> 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