We have to wait with any default changes to 3.0, unfortunately.

On Wed, Aug 2, 2017 at 8:30 PM, Vladimir Ozerov <[email protected]>
wrote:

> Not sure about readFromBackup, but changing PRIMARY_SYNC to FULL_SYNC looks
> safe to me. Any other thoughts?
>
> ср, 2 авг. 2017 г. в 21:10, Denis Magda <[email protected]>:
>
> > +1 for both suggestions but I’m not sure we can do the change till 3.0.
> >
> > —
> > Denis
> >
> > > On Aug 2, 2017, at 1:27 AM, Vladimir Ozerov <[email protected]>
> > wrote:
> > >
> > > +1 for readFromBackup=false as well :-) Another example of default
> value
> > > with subtle effects.
> > >
> > > On Wed, Aug 2, 2017 at 11:11 AM, Alexey Goncharuk <
> > > [email protected]> wrote:
> > >
> > >> Vladimir,
> > >>
> > >> Personally, I agree that we should put correctness over performance,
> > >> however (1) is not a correct statement for TRANSACTIONAL caches. A
> > >> transactional client always validates the result of an operation and
> > throw
> > >> a correct exception if operation failed. (1) is true for ATOMIC
> caches,
> > >> though.
> > >>
> > >> A user can get in trouble in this default for both TX and ATOMIC
> caches
> > if
> > >> a put is performed from a backup node and readFromBackup is set to
> > false.
> > >> In this case, the simple read-after-write scenario may fail. I would
> > rather
> > >> set readFromBackup to false by default, however, this fixes neither
> the
> > SQL
> > >> nor ATOMIC caches issues.
> > >>
> > >> +1 for the change, and extend the warning for partitioned caches with
> > >> readFromBackup=true and PRIMARY_SYNC.
> > >>
> > >>
> > >>
> > >> 2017-08-02 10:58 GMT+03:00 Vladimir Ozerov <[email protected]>:
> > >>
> > >>> Igniters,
> > >>>
> > >>> I want to re-iterate idea of changing default synchronization mode
> from
> > >>> PRIMARY_SYNC to FULL_SYNC.
> > >>>
> > >>> Motivation:
> > >>> 1) If user set [cacheMode=PARTITIONED, backups=1] he still could
> loose
> > >> data
> > >>> silently. Because primary node could report success to the client and
> > >> then
> > >>> crash before data is propagated to backups.
> > >>> 2) If user set [cacheMode=REPLICATED] and use SQL, he will might get
> > >>> invalid results if cache is being updated concurrently - well known
> > >> issue.
> > >>>
> > >>> The only advantage of PRIMARY_SYNC is slightly better performance,
> but
> > we
> > >>> should prefer correctness over performance.
> > >>>
> > >>> Proposed changes:
> > >>> 1) Make FULL_SYNC default;
> > >>> 2) Print a warning about possibly incorrect SQL results if REPLICATED
> > >> cache
> > >>> is started in PRIMARY_SYNC mode.
> > >>>
> > >>> Thoughts?
> > >>>
> > >>> Vladimir.
> > >>>
> > >>
> >
> >
>

Reply via email to