I am in favor of adding the dependency but like many others have already said, it would be nice to outline what and why are we using it?
Dinesh > On Oct 1, 2022, at 9:57 AM, Derek Chen-Becker <de...@chen-becker.org> wrote: > > Providing some guidance seems like a reasonable step to take. Would that be > in our coding guidelines > (https://cassandra.apache.org/_/development/code_style.html > <https://cassandra.apache.org/_/development/code_style.html>) or do we have > other places where we provide development guidelines? I like your optimism on > Valhalla's timeline, but I also agree that there's no need to change things > that aren't currently problems :) > > Cheers, > > Derek > > On Sat, Oct 1, 2022 at 6:51 AM Benedict <bened...@apache.org > <mailto:bened...@apache.org>> wrote: > I agree we need to be cautious about permitting overlapping functionality. I > think if there are other utilities that duplicate existing functionality we > should have a similar discussion on list before we begin using it, even after > including the library. Perhaps even our wording around seeking input should > be modified to include functionality present in a dependency but unused, and > that may duplicate existing functionality. > > I am unconvinced it would be worthwhile replacing the use of ByteBuffer more > generally within the codebase though, as Project Valhalla will likely cause > us to revisit our internal APIs significantly - and that may arrive in some > form within the next couple of years. So the value of the churn of changing > implementation is unlikely to be high. > > That said, isolated subsystems could probably use it if we think it’s > superior for the time being. > > Just my 2c. > >> On 29 Sep 2022, at 15:26, Derek Chen-Becker <de...@chen-becker.org >> <mailto:de...@chen-becker.org>> wrote: >> >> >> +1 from me with some concerns. >> >> Agrona looks like a nice lib, and I like what I've seen skimming the docs, >> but I think there's a longer-term discussion around whether we want to do >> anything about bringing in a library that effectively duplicates a bunch of >> standard lib constructs. My main concern is cognitive load if there are >> subtle semantic differences, say, between Agrona and stdlib buffers or any >> other construct where we might have both in the codebase. If we think Agrona >> has better buffers (or locking, timers, etc), should we be talking about >> replacing usage of stdlib with Agrona throughout, or making a recommendation >> for one over the other for future work? >> >> Cheers, >> >> Derek >> >> On Thu, Sep 29, 2022 at 12:26 AM Benedict <bened...@apache.org >> <mailto:bened...@apache.org>> wrote: >> Also +1 >> >>> On 23 Sep 2022, at 18:17, David Capwell <dcapw...@apple.com >>> <mailto:dcapw...@apple.com>> wrote: >>> >>> +1 from me >>> >>>> On Sep 23, 2022, at 1:21 AM, Branimir Lambov <branimir.lam...@datastax.com >>>> <mailto:branimir.lam...@datastax.com>> wrote: >>>> >>>> The usage in the trie memtable is only for volatile access to buffers. In >>>> this case I chose the library instead of reimplementing the functionality >>>> (e.g. as methods in `ByteBufferUtil`) because the relevant interface makes >>>> sense and the library is a good quality one that contains a range of other >>>> utilities that can be very useful to Cassandra. >>>> >>>> In other words, I personally would welcome opening Cassandra up to using >>>> other parts of Agrona, and am asking if the community shares this >>>> sentiment. >>>> >>>> >>>> Regards, >>>> Branimir >>>> >>>> On Wed, Sep 21, 2022 at 9:15 PM Derek Chen-Becker <de...@chen-becker.org >>>> <mailto:de...@chen-becker.org>> wrote: >>>> Agrona looks like it has quite a bit more than just buffers, so if we add >>>> this as a dependency for the new memtable, would it potentially open up >>>> use of other parts of Agrona (wittingly or not)? Unless I misunderstood, >>>> wasn't part of the new memtable implementation an interface to allow this >>>> to be pluggable? Could we avoid bringing it in as a full dependency for >>>> Cassandra if the trie memtable were packaged separately as a plugin >>>> instead of being included directly? >>>> >>>> Cheers, >>>> >>>> Derek >>>> >>>> On Wed, Sep 21, 2022 at 6:41 AM Benedict <bened...@apache.org >>>> <mailto:bened...@apache.org>> wrote: >>>> In principle no, it’s a high quality library. But it might help to briefly >>>> outline what it’s used for. I assume it is instead of ByteBuffer? In which >>>> case it could maybe be worthwhile discussing as a project how we foresee >>>> interaction with existing buffer machinery, and maybe how we expect our >>>> buffer use to evolve on the project, as we already have several buffers. >>>> >>>> That said, I anticipate our buffer use changing significantly with the >>>> introduction of value types and native memory improvements coming in >>>> future Java releases, so my personal inclination is just to accept the >>>> dependency. >>>> >>>>> On 21 Sep 2022, at 13:29, Branimir Lambov <blam...@apache.org >>>>> <mailto:blam...@apache.org>> wrote: >>>>> >>>>> >>>>> Hi everyone, >>>>> >>>>> CASSANDRA-17240 (Trie memtable implementation) introduces a dependency on >>>>> the agrona library (https://github.com/real-logic/agrona >>>>> <https://github.com/real-logic/agrona>). >>>>> >>>>> Does anyone have any objections to adding this dependency? >>>>> >>>>> Regards, >>>>> Branimir >>>> >>>> >>>> -- >>>> +---------------------------------------------------------------+ >>>> | Derek Chen-Becker | >>>> | GPG Key available at https://keybase.io/dchenbecker >>>> <https://urldefense.com/v3/__https://keybase.io/dchenbecker__;!!PbtH5S7Ebw!cY9TyIm1RqAGMkhgyKDjzQcOq6Cy6kzMj_VjvMm40JG9VMm6JgFfH9omG1Spx0UmlkEcGJcFmDtKjcbIGBN7PBunbg$> >>>> and | >>>> | https://pgp.mit.edu/pks/lookup?search=derek%40chen-becker.org >>>> <https://urldefense.com/v3/__https://pgp.mit.edu/pks/lookup?search=derek*40chen-becker.org__;JQ!!PbtH5S7Ebw!cY9TyIm1RqAGMkhgyKDjzQcOq6Cy6kzMj_VjvMm40JG9VMm6JgFfH9omG1Spx0UmlkEcGJcFmDtKjcbIGBPzYoayyA$> >>>> | >>>> | Fngrprnt: EB8A 6480 F0A3 C8EB C1E7 7F42 AFC5 AFEE 96E4 6ACC | >>>> +---------------------------------------------------------------+ >>>> >>>> >>>> >>>> -- >>>> Branimir Lambov >>>> e. branimir.lam...@datastax.com <mailto:branimir.lam...@datastax.com> >>>> w. www.datastax.com <http://www.datastax.com/> >>>> >>> >> >> >> -- >> +---------------------------------------------------------------+ >> | Derek Chen-Becker | >> | GPG Key available at https://keybase.io/dchenbecker >> <https://keybase.io/dchenbecker> and | >> | https://pgp.mit.edu/pks/lookup?search=derek%40chen-becker.org >> <https://pgp.mit.edu/pks/lookup?search=derek%40chen-becker.org> | >> | Fngrprnt: EB8A 6480 F0A3 C8EB C1E7 7F42 AFC5 AFEE 96E4 6ACC | >> +---------------------------------------------------------------+ >> > > > -- > +---------------------------------------------------------------+ > | Derek Chen-Becker | > | GPG Key available at https://keybase.io/dchenbecker > <https://keybase.io/dchenbecker> and | > | https://pgp.mit.edu/pks/lookup?search=derek%40chen-becker.org > <https://pgp.mit.edu/pks/lookup?search=derek%40chen-becker.org> | > | Fngrprnt: EB8A 6480 F0A3 C8EB C1E7 7F42 AFC5 AFEE 96E4 6ACC | > +---------------------------------------------------------------+ >