Very much appreciated that this was raised here Blake, and the
detailed write-up you provided.

If 4.0-beta gets more such large improvement patches than it does testing
and bug-fix patches, then the concern is we will never get to 4.0-rc. So I
hope it is only obvious and valued that we do and continue to call them out
during the beta phase.


On Fri, 28 Aug 2020 at 02:33, Joshua McKenzie <jmcken...@apache.org> wrote:

> No qualms with that here; it'll be a bit before GA so this has time to
> soak.
>
> On Thu, Aug 27, 2020 at 8:21 PM Blake Eggleston
> <beggles...@apple.com.invalid> wrote:
>
> > Caleb is currently working through his second round of review, and Marcus
> > said he's about halfway through his review as of this morning. So I'd
> > expect it to be committed within a week or so.
> >
> > > On Aug 27, 2020, at 5:09 PM, Joshua McKenzie <jmcken...@apache.org>
> > wrote:
> > >
> > > Is there an ETA on them landing? The later, the more risk to stability
> of
> > > GA due to lack of time soaking.
> > >
> > > On Thu, Aug 27, 2020 at 4:01 PM Blake Eggleston
> > > <beggles...@apple.com.invalid> wrote:
> > >
> > >> Hi dev@,
> > >>
> > >> Mick asked that I check in w/ the dev list about CASSANDRA-15393.
> > There's
> > >> some concern regarding the patch and it's suitability for inclusion in
> > >> 4.0-beta.
> > >>
> > >> CASSANDRA-15393 reduces garbage created by compaction and the read
> paths
> > >> by about 25%. It's part of CASSANDRA-15387, which, including this
> patch,
> > >> reduces garbage from the read and compaction paths by about 50%.
> > >> CASSANDRA-15393 does this by supporting byte array backed cell and
> > >> clustering types, which is acheived by abstracting the backing type
> > >> (ByteBuffer/byte[]) from the serialization logic.
> > >>
> > >> To avoid paying the allocation cost of adding a container object,
> > >> singleton "accessor" objects are used to operate on the actual data.
> See
> > >> here for an example:
> > >> https://gist.github.com/bdeggleston/52910225b817a8d54353125ca03f521d
> > >>
> > >> Mick and Robert Stupp have raised a few concerns, summarized below:
> > >>
> > >> 1. The patch is large (208 files / ~3.5k LOC)
> > >> 2. Concerns about impact on stability
> > >> 3. Parameterizing cell/clustering value types in this way makes
> > >> ClassCastExceptions possible.
> > >> 4. implications of feature freeze
> > >>
> > >> The patch is large, but the vast majority of it is adding type
> > parameters
> > >> to things. The changes here are wide, but not deep. The most complex
> > parts
> > >> are the collection serializers and other places where we're now having
> > to
> > >> do offset bookkeeping. These should be carefully reviewed, but they
> > >> shouldn't be too difficult to verify and I've added some randomized
> > tests
> > >> to check them against a wide range of schemas. I'll also run some diff
> > >> tests against clusters internally.
> > >>
> > >> Parameterizing cell and clustering values does make
> ClassCastExceptions
> > >> possible, but java's type system guards against this for the most
> part.
> > >> Regarding the feature freeze, I don't think it applies to performance
> > >> improvements.
> > >>
> > >> Back to the point about stability though: in pracice, compaction gc
> is a
> > >> major contributor to cluster instability. In my experience, about 30%
> of
> > >> availability issues are gc related. Also, compaction gc tends to be
> the
> > >> limiting factor for repair, host replacements, and other topology
> > changes,
> > >> which limits how quickly you can recover from other issues. So the
> patch
> > >> does add some risk, but I think it's a net win for stability.
> > >>
> > >> Thoughts?
> > >> ---------------------------------------------------------------------
> > >> 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