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