What's the value of the yaml? The user is likely to have upgraded to latest 3.x 
as part of the upgrade process to 4.0, so they'll already have had a decision 
made for them. If correctness didn't break anything, there doesn't any longer 
seem much point in offering a choice?

On 23/11/2020, 22:45, "Brandon Williams" <dri...@gmail.com> wrote:

    +1 to both as well.

    On Mon, Nov 23, 2020, 4:42 PM Blake Eggleston <beggles...@apple.com.invalid>
    wrote:

    > +1 to correctness, and I like the yaml idea
    >
    > > On Nov 23, 2020, at 4:20 AM, Paulo Motta <pauloricard...@gmail.com>
    > wrote:
    > >
    > > +1 to defaulting for correctness.
    > >
    > > In addition to that, how about making it a mandatory cassandra.yaml
    > > property defaulting to correctness? This would make upgrades with an old
    > > cassandra.yaml fail unless an option is explicitly specified, making
    > > operators aware of the issue and forcing them to make a choice.
    > >
    > >> Em seg., 23 de nov. de 2020 às 07:30, Benjamin Lerer <
    > >> benjamin.le...@datastax.com> escreveu:
    > >>
    > >> Thank you very much to everybody that provided feedback. It helped a
    > lot to
    > >> limit our options.
    > >>
    > >> Unfortunately, it seems that some poor soul (me, really!!!) will have 
to
    > >> make the final call between #3 and #4.
    > >>
    > >> If I reformulate the question to: Do we default to *correctness *or to
    > >> *performance*?
    > >>
    > >> I would choose to default to *correctness*.
    > >>
    > >> Of course the situation is more complex than that but it seems that
    > >> somebody has to make a call and live with it. It seems to me that being
    > >> blamed for choosing correctness is easier to live with ;-)
    > >>
    > >> Benjamin
    > >>
    > >> PS: I tried to push the choice on Sylvain but he dodged the bullet.
    > >>
    > >> On Sat, Nov 21, 2020 at 12:30 AM Benedict Elliott Smith <
    > >> bened...@apache.org>
    > >> wrote:
    > >>
    > >>> I think I meant #4 __‍♂️
    > >>>
    > >>> On 20/11/2020, 21:11, "Blake Eggleston" <beggles...@apple.com.INVALID
    > >
    > >>> wrote:
    > >>>
    > >>>    I’d also prefer #3 over #4
    > >>>
    > >>>> On Nov 20, 2020, at 10:03 AM, Benedict Elliott Smith <
    > >>> bened...@apache.org> wrote:
    > >>>>
    > >>>> Well, I expressed a preference for #3 over #4, particularly for
    > >> the
    > >>> 3.x series.  However at this point, I think the lack of a clear 
project
    > >>> decision means we can punt it back to you and Sylvain to make the 
final
    > >>> call.
    > >>>>
    > >>>> On 20/11/2020, 16:23, "Benjamin Lerer" <
    > >> benjamin.le...@datastax.com>
    > >>> wrote:
    > >>>>
    > >>>>   I will try to summarize the discussion to clarify the outcome.
    > >>>>
    > >>>>   Mick is in favor of #4
    > >>>>   Summanth is in favor of #4
    > >>>>   Sylvain answer was not clear for me. I understood it like I
    > >>> prefer #3 to #4
    > >>>>   and I am also fine with #1
    > >>>>   Jeff is in favor of #3 and will understand #4
    > >>>>   David is in favor #3 (fix bug and add flag to roll back to old
    > >>> behavior) in
    > >>>>   4.0 and #4 in 3.0 and 3.11
    > >>>>
    > >>>>   Do not hesitate to correct me if I misunderstood your answer.
    > >>>>
    > >>>>   Based on these answers it seems clear that most people prefer to
    > >>> go for #3
    > >>>>   or #4.
    > >>>>
    > >>>>   The choice between #3 (fix correctness opt-in to current
    > >>> behavior) and #4
    > >>>>   (current behavior opt-in to correctness) is a bit less clear
    > >>> specially if
    > >>>>   we consider the 3.X branches or 4.0.
    > >>>>
    > >>>>   Does anybody as some idea on how to choose between those 2
    > >>> choices or some
    > >>>>   extra opinions on #3 versus #4?
    > >>>>
    > >>>>
    > >>>>
    > >>>>
    > >>>>
    > >>>>
    > >>>>>   On Wed, Nov 18, 2020 at 9:45 PM David Capwell <
    > >>> dcapw...@gmail.com> wrote:
    > >>>>>
    > >>>>> I feel that #4 (fix bug and add flag to roll back to old behavior)
    > >>> is best.
    > >>>>>
    > >>>>> About the alternative implementation, I am fine adding it to 3.x
    > >>> and 4.0,
    > >>>>> but should treat it as a different path disabled by default that
    > >>> you can
    > >>>>> opt-into, with a plan to opt-in by default "eventually".
    > >>>>>
    > >>>>> On Wed, Nov 18, 2020 at 11:10 AM Benedict Elliott Smith <
    > >>>>> bened...@apache.org>
    > >>>>> wrote:
    > >>>>>
    > >>>>>> Perhaps there might be broader appetite to weigh in on which
    > >> major
    > >>>>>> releases we might target for work that fixes the correctness bug
    > >>> without
    > >>>>>> serious performance regression?
    > >>>>>>
    > >>>>>> i.e., if we were to fix the correctness bug now, introducing a
    > >>> serious
    > >>>>>> performance regression (either opt-in or opt-out), but were to
    > >>> land work
    > >>>>>> without this problem for 5.0, would there be appetite to backport
    > >>> this
    > >>>>> work
    > >>>>>> to any of 4.0, 3.11 or 3.0?
    > >>>>>>
    > >>>>>>
    > >>>>>> On 18/11/2020, 18:31, "Jeff Jirsa" <jji...@gmail.com> wrote:
    > >>>>>>
    > >>>>>>   This is complicated and relatively few people on earth
    > >>> understand it,
    > >>>>>> so
    > >>>>>>   having little feedback is mostly expected, unfortunately.
    > >>>>>>
    > >>>>>>   My normal emotional response is "correctness is required,
    > >>> opt-in to
    > >>>>>>   performance improvements that sacrifice strict correctness",
    > >>> but I'm
    > >>>>>> also
    > >>>>>>   sure this is going to surprise people, and would understand /
    > >>> accept
    > >>>>> #4
    > >>>>>>   (default to current, opt-in to correct).
    > >>>>>>
    > >>>>>>
    > >>>>>>   On Wed, Nov 18, 2020 at 4:54 AM Benedict Elliott Smith <
    > >>>>>> bened...@apache.org>
    > >>>>>>   wrote:
    > >>>>>>
    > >>>>>>> It doesn't seem like there's much enthusiasm for any of the
    > >>> options
    > >>>>>>> available here...
    > >>>>>>>
    > >>>>>>> On 12/11/2020, 14:37, "Benedict Elliott Smith" <
    > >>>>> bened...@apache.org
    > >>>>>>>
    > >>>>>>> wrote:
    > >>>>>>>
    > >>>>>>>> Is the new implementation a separate, distinctly modularized
    > >>>>>> new
    > >>>>>>> body of work
    > >>>>>>>
    > >>>>>>>   It’s primarily a distinct, modularised and new body of work,
    > >>>>>> however
    > >>>>>>> there is some shared code that has been modified - namely
    > >>>>>> PaxosState, in
    > >>>>>>> which legacy code is maintained but modified for compatibility,
    > >>> and
    > >>>>>> the
    > >>>>>>> system.paxos table (which receives a new column, and slightly
    > >>>>>> modified
    > >>>>>>> serialization code).  It is conceptually an optimised version of
    > >>>>> the
    > >>>>>>> existing algorithm.
    > >>>>>>>
    > >>>>>>>   If there's a chance of being of value to 4.0, I can try to
    > >> put
    > >>>>>> up a
    > >>>>>>> patch next week alongside a high level description of the
    > >> changes.
    > >>>>>>>
    > >>>>>>>> But a performance regression is a regression, I'm not
    > >>>>>> shrugging it
    > >>>>>>> off.
    > >>>>>>>
    > >>>>>>>   I don't want to give the impression I'm shrugging off the
    > >>>>>> correctness
    > >>>>>>> issue either. It's a serious issue to fix, but since all
    > >>> successful
    > >>>>>> updates
    > >>>>>>> to the database are linearizable, I think it's likely that many
    > >>>>>>> applications behave correctly with the present semantics, or at
    > >>>>> least
    > >>>>>>> encounter only transient errors. No doubt many also do not, but
    > >> I
    > >>>>>> have no
    > >>>>>>> idea of the ratio.
    > >>>>>>>
    > >>>>>>>   The regression isn't itself a simple issue either - depending
    > >>>>> on
    > >>>>>> the
    > >>>>>>> topology and message latencies it is not difficult to produce
    > >>>>>> inescapable
    > >>>>>>> contention, i.e. guaranteed timeouts - that might persist as
    > >> long
    > >>>>> as
    > >>>>>>> clients continue to retry. It could be quite a serious
    > >> degradation
    > >>>>> of
    > >>>>>>> service to impose on our users.
    > >>>>>>>
    > >>>>>>>   I don't pretend to know the correct way to make a decision
    > >>>>>> balancing
    > >>>>>>> these considerations, but I am perhaps more concerned about
    > >>>>> imposing
    > >>>>>>> service outages than I am temporarily maintaining semantics our
    > >>>>>> users have
    > >>>>>>> apparently accepted for years - though I absolutely share your
    > >>>>>>> embarrassment there.
    > >>>>>>>
    > >>>>>>>
    > >>>>>>>   On 12/11/2020, 12:41, "Joshua McKenzie" <
    > >> jmcken...@apache.org
    > >>>>>>
    > >>>>>> wrote:
    > >>>>>>>
    > >>>>>>>       Is the new implementation a separate, distinctly
    > >>>>> modularized
    > >>>>>> new
    > >>>>>>> body of
    > >>>>>>>       work or does it make substantial changes to existing
    > >>>>>>> implementation and
    > >>>>>>>       subsume it?
    > >>>>>>>
    > >>>>>>>       On Thu, Nov 12, 2020 at 3:56 AM Sylvain Lebresne <
    > >>>>>>> lebre...@gmail.com> wrote:
    > >>>>>>>
    > >>>>>>>> Regarding option #4, I'll remark that experience tends to
    > >>>>>>> suggest users
    > >>>>>>>> don't consistently read the `NEWS.txt` file on upgrade,
    > >>>>> so
    > >>>>>>> option #4 will
    > >>>>>>>> likely essentially mean "LWT has a correctness issue, but
    > >>>>>> once
    > >>>>>>> it broke
    > >>>>>>>> your data enough that you'll notice, you'll be able to
    > >>>>> dig
    > >>>>>> the
    > >>>>>>> proper flag
    > >>>>>>>> to fix it for next time". I guess it's better than
    > >>>>>> nothing, of
    > >>>>>>> course, but
    > >>>>>>>> I'll admit that defaulting to "opt-in correctness",
    > >>>>>> especially
    > >>>>>>> for a
    > >>>>>>>> feature (LWT) that exists uniquely to provide additional
    > >>>>>>> guarantees, is
    > >>>>>>>> something I have a hard rallying behind.
    > >>>>>>>>
    > >>>>>>>> But a performance regression is a regression, I'm not
    > >>>>>> shrugging
    > >>>>>>> it off.
    > >>>>>>>> Still, I feel we shouldn't leave LWT with a fairly
    > >>>>> serious
    > >>>>>> known
    > >>>>>>>> correctness bug and I frankly feel bad for "the project"
    > >>>>>> that
    > >>>>>>> this has been
    > >>>>>>>> known for so long without action, so I'm a bit biased in
    > >>>>>> wanting
    > >>>>>>> to get it
    > >>>>>>>> fixed asap.
    > >>>>>>>>
    > >>>>>>>> But maybe I'm overstating the urgency here, and maybe
    > >>>>>> option #1
    > >>>>>>> is a better
    > >>>>>>>> way forward.
    > >>>>>>>>
    > >>>>>>>> --
    > >>>>>>>> Sylvain
    > >>>>>>>>
    > >>>>>>>
    > >>>>>>>
    > >>>>>>>
    > >>>>>>>
    > >>>>>>
    > >>> ---------------------------------------------------------------------
    > >>>>>>>   To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org
    > >>>>>>>   For additional commands, e-mail:
    > >> dev-h...@cassandra.apache.org
    > >>>>>>>
    > >>>>>>>
    > >>>>>>>
    > >>>>>>>
    > >>>>>>>
    > >>>>>
    > >>> ---------------------------------------------------------------------
    > >>>>>>> To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org
    > >>>>>>> For additional commands, e-mail: dev-h...@cassandra.apache.org
    > >>>>>>>
    > >>>>>>>
    > >>>>>>
    > >>>>>>
    > >>>>>>
    > >>>>>>
    > >>> ---------------------------------------------------------------------
    > >>>>>> To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org
    > >>>>>> For additional commands, e-mail: dev-h...@cassandra.apache.org
    > >>>>>>
    > >>>>>>
    > >>>>>
    > >>>>
    > >>>>
    > >>>>
    > >>>>
    > >> ---------------------------------------------------------------------
    > >>>> To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org
    > >>>> For additional commands, e-mail: dev-h...@cassandra.apache.org
    > >>>>
    > >>>
    > >>>
    > ---------------------------------------------------------------------
    > >>>    To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org
    > >>>    For additional commands, e-mail: dev-h...@cassandra.apache.org
    > >>>
    > >>>
    > >>>
    > >>>
    > >>> ---------------------------------------------------------------------
    > >>> To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org
    > >>> For additional commands, e-mail: dev-h...@cassandra.apache.org
    > >>>
    > >>>
    > >>
    >
    > ---------------------------------------------------------------------
    > To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org
    > For additional commands, e-mail: dev-h...@cassandra.apache.org
    >
    >



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org
For additional commands, e-mail: dev-h...@cassandra.apache.org

Reply via email to