ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Evgeniy Stanilovskiy" <estanilovs...@gridgain.com>
Subject Re: Performance vs correctness: I vote fore the second
Date Thu, 20 Apr 2017 12:27:32 GMT
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
     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  


> 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.

View raw message