There were some discussions on Slack whether CASSANDRA-2848 should be in
scope for 4.0 or not, given that its an enhancement.

I'm +1 on descoping it and leave it for a later 4.x

As it involves a change in the protocol, we could use non-breaking changes
to add these types of features to protocol_v5 in 4.x without a protocol
version bump (new flag + new SUPPORTED option), like I've proposed above.

On Thu, Feb 20, 2020 at 2:52 PM Aleksey Yeshchenko
<alek...@apple.com.invalid> wrote:

> For what it’s worth, we could trivially implement support for passing down
> the timeout in 4.0.0, so that both the server and the client are able to
> parse the frames with and without them, but delay implementation of the
> server side logic necessary for terminating requests early until a further
> minor (4.1/4.0.1).
>
> > On 19 Feb 2020, at 15:39, Jorge Bay Gondra <jorgebaygon...@gmail.com>
> wrote:
> >
> > Also worth mentioning that, from the driver's perspective, it has to
> > support a protocol version during the lifetime of the C* version line.
> For
> > example, the drivers should drop support for protocol v3 after C* 2.1
> goes
> > EOL, somewhere this year, a protocol that was released back in 2014.
> >
> > We _could_ establish looser restrictions on whats a breaking change in a
> > protocol version (needing a version bump), that way the driver can
> support
> > a protocol version partially and a protocol version could evolve within
> > those limits.
> >
> > Back to the query timeout, a new query flag that can only be set by the
> > client is not a breaking change for the driver. The driver could ask
> > whether that feature of the protocol v5 is supported (OPTIONS/SUPPORTED
> > messages), without having to identify the server version.
> >
> > On Wed, Feb 19, 2020 at 12:24 AM Benedict Elliott Smith <
> bened...@apache.org>
> > wrote:
> >
> >> Behaviours don't have to be switched only with a new protocol version;
> >> it's possible to support optional feature/modifier flags, the support
> for
> >> which is negotiated with a client on connection.
> >>
> >> A protocol version change seems reasonable to limit to major releases,
> but
> >> a protocol feature seems perfectly reasonable to introduce in a minor, I
> >> think?  Ideally a version change would only be necessary for forced
> >> deprecation/standardisation of features, behaviour and stream encodings.
> >>
> >>
> >> On 18/02/2020, 21:53, "Jeff Jirsa" <jji...@gmail.com> wrote:
> >>
> >>    A few notes:
> >>
> >>    - Protocol changes add work to the rest of the ecosystem. Drivers
> have
> >> to
> >>    update, etc.
> >>    - Nobody expects protocol changes in minors, though it's less of a
> >> concern
> >>    if we don't deprecate out the older version. E.g. if 4.0 launches
> with
> >>    protocol v4 and protocol v5, and then 4.0.2 adds protocol v6, do we
> >>    deprecate out v4? If yes, you potentially break clients that only
> >> supported
> >>    v3 and v4 in a minor version upgrade, which is unexpected. If not,
> how
> >> many
> >>    protocol versions are you willing to support at any given time?
> >>    - Having protocol changes introduces risk. Paging behavior across
> >> protocol
> >>    versions is the site of a number of different bugs recently.
> >>
> >>
> >>    On Tue, Feb 18, 2020 at 1:46 PM Tolbert, Andrew <x...@andrewtolbert.com
> >
> >> wrote:
> >>
> >>> I don't know the technical answer, but I suspect two motivations for
> >>> doing new protocol versions in major releases could include:
> >>>
> >>> * protocol changes can be tied to feature changes that typically come
> >>> in a major release.
> >>> * protocol changes should be as infrequent as major releases.  Each
> >>> new protocol version is another thing in the test matrix that needs
> >> to
> >>> be tested.
> >>>
> >>> That last point can make it hard to get new changes in. If something
> >>> doesn't make the upcoming protocol version, it might be years before
> >>> another one, but I also think it's worth it to do this infrequently
> >> as
> >>> it makes maintaining client and server code easier if there are less
> >>> protocol versions to worry about.
> >>>
> >>> On the client-side, libraries themselves should be avoiding making
> >>> Cassandra version checks when detecting capabilities.  There are a
> >> few
> >>> exceptions, such as system table parsing for schema & peers,
> >>> but those aren't related to the protocol.
> >>>
> >>> Thanks,
> >>> Andy
> >>>
> >>>
> >>>
> >>>
> >>>
> >>> On Tue, Feb 18, 2020 at 1:22 PM Nate McCall <zznat...@gmail.com>
> >> wrote:
> >>>>
> >>>> [Moving to new message thread]
> >>>>
> >>>> Thanks for bringing this up, Jordan.
> >>>>
> >>>> IIRC, this was more a convention than a technical reason. Though I
> >> could
> >>> be
> >>>> completely misremembering this.
> >>>>
> >>>> ---------- Forwarded message ---------
> >>>> From: Jordan West <jorda...@gmail.com>
> >>>> Date: Wed, Feb 19, 2020 at 10:13 AM
> >>>> Subject: Re: 20200217 4.0 Status Update
> >>>> To: <dev@cassandra.apache.org>
> >>>>
> >>>>
> >>>> On Mon, Feb 17, 2020 at 12:52 PM Jeff Jirsa <jji...@gmail.com>
> >> wrote:
> >>>>
> >>>>>
> >>>>> beyond the client proto change being painful for anything other
> >> than
> >>> major
> >>>>> releases
> >>>>>
> >>>>>
> >>>> This came up during the community meeting today and I wanted to
> >> bring a
> >>>> question about it to the list: could someone who is *very*
> >> familiar with
> >>>> the client proto share w/ the list why changing the proto in
> >> anything
> >>> other
> >>>> than a major release is so difficult? I hear this a lot and it
> >> seems to
> >>> be
> >>>> fact. So that all of us don't have to go read the code, a brief
> >> summary
> >>>> would be super helpful. Or if there is a ticket that already
> >> covers this
> >>>> even better! I'd also be curious if there have ever been any
> >> thoughts to
> >>>> address it as it seems to be a consistent hurdle during the
> >> release cycle
> >>>> and one that tends to further increase scope.
> >>>>
> >>>> Thanks,
> >>>> Jordan
> >>>>
> >>>>>
> >>>>>
> >>>>>> On Feb 17, 2020, at 12:43 PM, Jon Meredith <
> >> jmeredit...@gmail.com>
> >>>>> wrote:
> >>>>>>
> >>>>>> My turn to give an update on 4.0 status. The 4.0 board
> >> created by
> >>> Josh
> >>>>> can
> >>>>>> be found at
> >>>>>>
> >>>>>>
> >>>>>>
> >> https://issues.apache.org/jira/secure/RapidBoard.jspa?rapidView=355.
> >>>>>>
> >>>>>>
> >>>>>> We have 94 unresolved tickets marked against the 4.0 release.
> >> [1]
> >>>>>>
> >>>>>>
> >>>>>> Things seem to have settled into a phase of working to resolve
> >>> issues,
> >>>>> with
> >>>>>> few new issues added.
> >>>>>>
> >>>>>>
> >>>>>> 2 new tickets opened (that are marked against 4.0)
> >>>>>>
> >>>>>> 11 tickets closed (including one of the newly opened ones)
> >>>>>>
> >>>>>> 39 tickets received updates to JIRA of some kind in the last
> >> week
> >>>>>>
> >>>>>>
> >>>>>> Cumulative flow over the last couple of weeks shows todo
> >> reducing and
> >>>>> done
> >>>>>> increasing as it should as we continue to close out work for
> >> the
> >>>> release.
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> >>>>
> >>>
> >>
> https://issues.apache.org/jira/secure/RapidBoard.jspa?rapidView=355&projectKey=CASSANDRA&view=reporting&chart=cumulativeFlowDiagram&swimlane=939&swimlane=936&swimlane=931&column=1505&column=1506&column=1514&column=1509&column=1512&column=1507&days=14
> >>>>>>
> >>>>>>
> >>>>>> Notables
> >>>>>>
> >>>>>> - Python 3 support for cqlsh has been committed (thank you all
> >> who
> >>>>>> persevered on this)
> >>>>>>
> >>>>>> - Some activity on Windows support - perhaps not dead yet.
> >>>>>>
> >>>>>> - Lots of movement on documentation
> >>>>>>
> >>>>>> - Lots of activity on flaky tests.
> >>>>>>
> >>>>>> - Oldest ticket with a patch award goes to CASSANDRA-2848
> >>>>>>
> >>>>>>
> >>>>>> There are 18 tickets marked as patch available (easy access
> >> from the
> >>>>>> Dashboard [2], apologies if they're already picked up for
> >> review)
> >>>>>>
> >>>>>>
> >>>>>> CASSANDRA-15567 Allow EXTRA_CLASSPATH to work in tarball/source
> >>>>>> installations
> >>>>>>
> >>>>>> CASSANDRA-15553 Preview repair should include sstables from
> >> finalized
> >>>>>> incremental repair sessions
> >>>>>>
> >>>>>> CASSANDRA-15550 Fix flaky test
> >>>>>> org.apache.cassandra.streaming.StreamTransferTaskTest
> >>>>>> testFailSessionDuringTransferShouldNotReleaseReferences
> >>>>>>
> >>>>>> CASSANDRA-15488/CASSANDRA-15353 Configuration file
> >>>>>>
> >>>>>> CASSANDRA-15484/CASSANDRA-15353 Read Repair
> >>>>>>
> >>>>>> CASSANDRA-15482/CASSANDRA-15353 Guarantees
> >>>>>>
> >>>>>> CASSANDRA-15481/CASSANDRA-15353 Data Modeling
> >>>>>>
> >>>>>> CASSANDRA-15393/CASSANDRA-15387 Add byte array backed cells
> >>>>>>
> >>>>>> CASSANDRA-15391/CASSANDRA-15387 Reduce heap footprint of
> >> commonly
> >>>>> allocated
> >>>>>> objects
> >>>>>>
> >>>>>> CASSANDRA-15367 Memtable memory allocations may deadlock
> >>>>>>
> >>>>>> CASSANDRA-15308 Fix flakey testAcquireReleaseOutbound -
> >>>>>> org.apache.cassandra.net.ConnectionTest
> >>>>>>
> >>>>>> CASSANDRA-1530 5Fix multi DC nodetool status output
> >>>>>>
> >>>>>> CASSANDRA-14973 Bring v5 driver out of beta, introduce v6
> >> before 4.0
> >>>>>> release is cut
> >>>>>>
> >>>>>> CASSANDRA-14939 fix some operational holes in incremental
> >> repair
> >>>>>>
> >>>>>> CASSANDRA-14904 SSTableloader doesn't understand listening for
> >> CQL
> >>>>>> connections on multiple ports
> >>>>>>
> >>>>>> CASSANDRA-14842 SSL connection problems when upgrading to 4.0
> >> when
> >>>>>> upgrading from 3.0.x
> >>>>>>
> >>>>>> CASSANDRA-14761 Rename speculative_retry to match
> >>>> additional_write_policy
> >>>>>>
> >>>>>> CASSANDRA-2848 Make the Client API support passing down
> >> timeouts
> >>>>>>
> >>>>>>
> >>>>>> *LHF / Failing Tests*: We have 7 unassigned test failures that
> >> are
> >>> all
> >>>>>>
> >>>>>> great candidates to pick up and get involved in:
> >>>>>>
> >>>>>>
> >>>>>
> >>>>
> >>>
> >>
> https://issues.apache.org/jira/secure/RapidBoard.jspa?rapidView=355&projectKey=CASSANDRA&quickFilter=1660&quickFilter=1661&quickFilter=1658
> >>>>>>
> >>>>>>
> >>>>>> Thanks again to everybody for all the contributions. It's
> >> really
> >>> good to
> >>>>>> see the open issue count start dropping.
> >>>>>>
> >>>>>>
> >>>>>> Feedback on whether this information is useful and how it can
> >> be
> >>>> improved
> >>>>>> is both welcome and appreciated.
> >>>>>>
> >>>>>>
> >>>>>> Cheers, Jon
> >>>>>>
> >>>>>>
> >>>>>> [1] Unresolved 4.0 tickets
> >>>>>>
> >>>>>
> >>>>
> >>>
> >>
> https://issues.apache.org/jira/browse/CASSANDRA-15567?filter=12347782&jql=project%20%3D%20cassandra%20AND%20fixversion%20in%20(4.0%2C%204.0.0%2C%204.0-alpha%2C%204.0-beta)%20AND%20status%20!%3D%20Resolved
> >>>>>>
> >>>>>> [2] Patch Available
> >>>>>>
> >>>>>
> >>>
> >>
> https://issues.apache.org/jira/secure/Dashboard.jspa?selectPageId=12334910
> >>>>>
> >>>>>
> >> ---------------------------------------------------------------------
> >>>>> 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