Hey guys, what's the latest on this?

Le sam. 23 mars 2024 à 01:49, Mike Thomsen <mikerthom...@gmail.com> a
écrit :

> Fair enough, Joe.
>
> Matt,
>
> I poked around your branch a little this evening. I agree with you and
> David 100% now on the need for some sort of abstraction. I think the Graph
> Bundle's model could serve as a good starting point for how to approach the
> problem. The client drivers in that bundle do the heavy lifting of doing
> the querying and passing the results back via a callback system to the
> processors that call them to ensure that the processors don't know anything
> other than they're getting back a Map of result data each iteration.
> Thoughts?
>
> On Fri, Mar 22, 2024 at 2:48 PM Joe Witt <joe.w...@gmail.com> wrote:
>
> > Mike,
> >
> > The bundles we include cannot have libs with know vulns and that last a
> > very long time.  That is a more pressing blocker.
> >
> > As noted top of thread we all recognize the importance of being able to
> > integrate with Cassandra but including that must come with active mx
> > especially as it relates to vulns.
> >
> > Thanks
> > Joe
> >
> > On Fri, Mar 22, 2024 at 11:42 AM Mike Thomsen <mikerthom...@gmail.com>
> > wrote:
> >
> > > The scope tag was probably copy pasta. You raise a valid point about
> the
> > > processor dependencies that completely slipped my mind. That said, I
> > think
> > > it's premature to remove the cassandra bundle until we have a working
> > > replacement. I would consider that support a blocker for 2.X.
> > >
> > > On Fri, Mar 22, 2024 at 12:00 PM Matt Burgess <mattyb...@gmail.com>
> > wrote:
> > >
> > > > David beat me to it :) IMO the only NAR that should have any
> > dependencies
> > > > on Cassandra is the services NAR, not the processors or services API.
> > > >
> > > > On Fri, Mar 22, 2024 at 11:10 AM David Handermann <
> > > > exceptionfact...@apache.org> wrote:
> > > >
> > > > > Mike,
> > > > >
> > > > > Thanks for sharing the branch, it is helpful to have that as a
> > > > > reference example. Have you been able to exercise any of that
> > approach
> > > > > at runtime?
> > > > >
> > > > > Based on what is there right now, attempting to mark the DataStax
> > > > > java-driver-core as provided does not look like it will work. It
> may
> > > > > pass unit tests, but runtime NAR class loading requires that
> classes
> > > > > be available in the same NAR, or in a parent NAR. That means when
> > NiFi
> > > > > tries to load the Controller Service interface, it must have access
> > to
> > > > > a version of the relevant Cassandra driver classes. By marking the
> > > > > dependency as provided, it will not be available in the API NAR,
> and
> > > > > thus not available when loading the service interface. Including it
> > in
> > > > > the API NAR won't work either, because it conflicts with the
> ScyllaDB
> > > > > java-driver-core in the implementation NAR.
> > > > >
> > > > > This is the reason Matt and I highlighted for providing a layer of
> > > > > abstraction at the Controller Service API level.
> > > > >
> > > > > Regards,
> > > > > David Handermann
> > > > >
> > > > > On Fri, Mar 22, 2024 at 8:13 AM Mike Thomsen <
> mikerthom...@gmail.com
> > >
> > > > > wrote:
> > > > > >
> > > > > > Work so far:
> https://github.com/MikeThomsen/nifi/tree/cql-changes
> > > > > >
> > > > > > On Thu, Mar 21, 2024 at 9:52 AM Mike Thomsen <
> > mikerthom...@gmail.com
> > > >
> > > > > wrote:
> > > > > >
> > > > > > > Matt/David,
> > > > > > >
> > > > > > > By this evening, I should be at a point where I can share my
> > > branch.
> > > > It
> > > > > > > should be far enough along that y'all can see what I mean about
> > how
> > > > > most of
> > > > > > > the changes really weren't that complicated. My sense is that
> if
> > we
> > > > > > > collaborate on it, we can probably get it ready for a PR
> within a
> > > > week
> > > > > or
> > > > > > > two.
> > > > > > >
> > > > > > > It would probably be a good idea to plan to revisit the
> Cassandra
> > > > DMC's
> > > > > > > design and make it more flexible.
> > > > > > >
> > > > > > > One nice thing about the new DataStax driver is that it
> supports
> > > > > > > configuration by a very detailed configuration file format, so
> we
> > > can
> > > > > give
> > > > > > > users that option + combine it with EL/parameters (I envision
> an
> > > > option
> > > > > > > where the user puts EL in the file, we load the file,
> preprocess
> > > the
> > > > > EL and
> > > > > > > load that into the driver)
> > > > > > >
> > > > > > > On Wed, Mar 20, 2024 at 4:01 PM Mike Thomsen <
> > > mikerthom...@gmail.com
> > > > >
> > > > > > > wrote:
> > > > > > >
> > > > > > >> If it were that simple, they would probably have just gone
> with
> > > that
> > > > > > >> solution. That said, the API is functionally vendor agnostic
> at
> > > this
> > > > > point
> > > > > > >> at the Java API level. So I see no need to add abstraction
> above
> > > > > that. I've
> > > > > > >> got probably 2/3 of nifi-cassandra-bundle converted. Hitting a
> > few
> > > > > pain
> > > > > > >> points where I'm having to dig deep into the docs to make
> > > progress,
> > > > > but so
> > > > > > >> far, so good.
> > > > > > >>
> > > > > > >> On Wed, Mar 20, 2024 at 2:38 PM Matt Burgess <
> > > mattyb...@apache.org>
> > > > > > >> wrote:
> > > > > > >>
> > > > > > >>> It would be interesting to see if you exclude the Scylla API
> > JAR
> > > > > from the
> > > > > > >>> Scylla implementation and instead include DataStax's, if that
> > > > works.
> > > > > > >>> However I'm still leaning towards a vendor-agnostic API.
> > > > > > >>>
> > > > > > >>> On Wed, Mar 20, 2024 at 11:26 AM Mike Thomsen <
> > > > > mikerthom...@gmail.com>
> > > > > > >>> wrote:
> > > > > > >>>
> > > > > > >>> > At first glance, the package names look identical to me:
> > > > > > >>> >
> > > > > > >>> >
> > > > >
> https://java-driver.docs.scylladb.com/scylla-4.15.0.x/api/index.html
> > > > > > >>> >
> > > > > > >>> > So I see no reason to not take them at their word that it's
> > > > drop-in
> > > > > > >>> >
> > > > > > >>> > On Wed, Mar 20, 2024 at 11:04 AM David Handermann <
> > > > > > >>> > exceptionfact...@apache.org> wrote:
> > > > > > >>> >
> > > > > > >>> > > Mike,
> > > > > > >>> > >
> > > > > > >>> > > One important thing to mention about the DataStax vs
> > ScyllaDB
> > > > > driver
> > > > > > >>> > > is that the Maven coordinates are different, and managing
> > the
> > > > > > >>> > > dependencies correctly will make or break the
> > implementation.
> > > > > > >>> > >
> > > > > > >>> > > In other words, if it is possible to use the DataStax 4
> > core
> > > > JAR
> > > > > in
> > > > > > >>> > > the Controller Service API, but use the ScyllaDB 3 query
> > JAR
> > > in
> > > > > the
> > > > > > >>> > > ScyllaDB implementation, then that could avoid the need
> for
> > > > > > >>> additional
> > > > > > >>> > > abstraction. Without taking a closer look, however, I
> would
> > > be
> > > > > > >>> > > surprised if this worked.
> > > > > > >>> > >
> > > > > > >>> > > Although ScyllaDB highlights their forked driver as a
> > drop-in
> > > > > > >>> > > replacement for the DataStax version, and maintains the
> > same
> > > > Java
> > > > > > >>> > > package names, there is a difference between a complete
> > > > > replacement
> > > > > > >>> > > and a shared API JAR. Without a common API JAR, that both
> > > > > > >>> > > implementations can use, it will be necessary to provide
> an
> > > > > > >>> > > abstraction in NiFi that avoids depending on either
> library
> > > at
> > > > > the
> > > > > > >>> > > Controller Service API level.
> > > > > > >>> > >
> > > > > > >>> > > Regards,
> > > > > > >>> > > David Handermann
> > > > > > >>> > >
> > > > > > >>> > > On Wed, Mar 20, 2024 at 8:25 AM Mike Thomsen <
> > > > > mikerthom...@gmail.com
> > > > > > >>> >
> > > > > > >>> > > wrote:
> > > > > > >>> > > >
> > > > > > >>> > > > Matt/David,
> > > > > > >>> > > >
> > > > > > >>> > > > I got some time this morning to take a crack at
> directly
> > > > > migrating
> > > > > > >>> it
> > > > > > >>> > > over
> > > > > > >>> > > > to the DataStax 4.17 driver. Definitely got a lot of
> work
> > > to
> > > > > do,
> > > > > > >>> but so
> > > > > > >>> > > far
> > > > > > >>> > > > I haven't hit any real snags. This is a branch that
> > reverts
> > > > the
> > > > > > >>> commit
> > > > > > >>> > to
> > > > > > >>> > > > remove the cassandra bundle and reuses the existing
> > > features
> > > > > as a
> > > > > > >>> > > > foundation. From what I'm seeing so far (feels like I'm
> > > about
> > > > > 25%
> > > > > > >>> done)
> > > > > > >>> > > it
> > > > > > >>> > > > should be doable to reuse the existing bundle, but
> rename
> > > it
> > > > > to the
> > > > > > >>> > "CQL
> > > > > > >>> > > > Bundle" and just add a second controller service for
> > Scylla
> > > > > that is
> > > > > > >>> > > > otherwise 100% the same codewise.
> > > > > > >>> > > >
> > > > > > >>> > > > On Tue, Mar 19, 2024 at 6:41 PM Mike Thomsen <
> > > > > > >>> mikerthom...@gmail.com>
> > > > > > >>> > > wrote:
> > > > > > >>> > > >
> > > > > > >>> > > > > A cursory look at the Cassandra 5 stuff didn’t
> indicate
> > > any
> > > > > > >>> > > > > incompatibility. So yeah, I think we are likely
> pretty
> > > safe
> > > > > to
> > > > > > >>> use
> > > > > > >>> > the
> > > > > > >>> > > 4.17
> > > > > > >>> > > > > driver
> > > > > > >>> > > > > Sent from my iPhone
> > > > > > >>> > > > >
> > > > > > >>> > > > > > On Mar 19, 2024, at 3:35 PM, Matt Burgess <
> > > > > > >>> mattyb...@apache.org>
> > > > > > >>> > > wrote:
> > > > > > >>> > > > > >
> > > > > > >>> > > > > > Is it likely now (due to the refactor) that we
> will
> > > > > simply be
> > > > > > >>> able
> > > > > > >>> > > to
> > > > > > >>> > > > > > upgrade the driver when Cassandra 5 is GA? Also
> does
> > > > > anyone use
> > > > > > >>> > > Netflix's
> > > > > > >>> > > > > > Astyanax [1]?
> > > > > > >>> > > > > >
> > > > > > >>> > > > > > [1]
> > > > > > >>> > > > > >
> > > > > > >>> > > > >
> > > > > > >>> > >
> > > > > > >>> >
> > > > > > >>>
> > > > >
> > > >
> > >
> >
> https://cassandra.apache.org/doc/stable/cassandra/getting_started/drivers.html#java
> > > > > > >>> > > > > >
> > > > > > >>> > > > > >> On Tue, Mar 19, 2024 at 3:10 PM Mike Thomsen <
> > > > > > >>> > > mikerthom...@gmail.com>
> > > > > > >>> > > > > wrote:
> > > > > > >>> > > > > >>
> > > > > > >>> > > > > >> Realistically, I think we are only likely to see
> two
> > > > > drivers:
> > > > > > >>> > > > > >>
> > > > > > >>> > > > > >> * DataStax
> > > > > > >>> > > > > >> * ScyllaDB
> > > > > > >>> > > > > >>
> > > > > > >>> > > > > >> The latter makes a selling point of being a binary
> > > > > compatible,
> > > > > > >>> > > drop-in
> > > > > > >>> > > > > >> replacement for the former.
> > > > > > >>> > > > > >>
> > > > > > >>> > > > > >> That's why I don't see a need to have an
> abstraction
> > > > > layer per
> > > > > > >>> > se. I
> > > > > > >>> > > > > think
> > > > > > >>> > > > > >> we only need "DataStaxConnectionProviderImpl" and
> > > > > > >>> > > > > >> "ScyllaDBConnectionProviderImpl" with the
> difference
> > > > being
> > > > > > >>> which
> > > > > > >>> > > jar is
> > > > > > >>> > > > > >> imported by maven.
> > > > > > >>> > > > > >>
> > > > > > >>> > > > > >> On Tue, Mar 19, 2024 at 2:59 PM David Handermann <
> > > > > > >>> > > > > >> exceptionfact...@apache.org> wrote:
> > > > > > >>> > > > > >>
> > > > > > >>> > > > > >>> Mike,
> > > > > > >>> > > > > >>>
> > > > > > >>> > > > > >>> Thanks for the reply and clarification.
> > > > > > >>> > > > > >>>
> > > > > > >>> > > > > >>> I agree there is no need to maintain support for
> > the
> > > > > > >>> DataStax 3
> > > > > > >>> > > driver
> > > > > > >>> > > > > >>> and Java API, any new components should be built
> on
> > > the
> > > > > > >>> latest
> > > > > > >>> > > version
> > > > > > >>> > > > > >>> of the driver.
> > > > > > >>> > > > > >>>
> > > > > > >>> > > > > >>> What we do need going forward is to avoid, if at
> > all
> > > > > > >>> possible,
> > > > > > >>> > > having
> > > > > > >>> > > > > >>> a DataStax 4 dependency in the Controller Service
> > > API.
> > > > > > >>> > > > > >>>
> > > > > > >>> > > > > >>> One example of this is the
> WebClientServiceProvider
> > > > > > >>> interface.
> > > > > > >>> > That
> > > > > > >>> > > > > >>> Controller Service API does not have any
> > third-party
> > > > > > >>> > dependencies.
> > > > > > >>> > > The
> > > > > > >>> > > > > >>> Controller Service implementation,
> > > > > > >>> > > StandardWebClientServiceProvider,
> > > > > > >>> > > > > >>> has a dependency on OkHttp to implement HTTP
> > > > > communication.
> > > > > > >>> That
> > > > > > >>> > is
> > > > > > >>> > > > > >>> the kind of abstraction that would be ideal, and
> I
> > > > > believe
> > > > > > >>> that
> > > > > > >>> > > also
> > > > > > >>> > > > > >>> aligns with what Matt has described.
> > > > > > >>> > > > > >>>
> > > > > > >>> > > > > >>> Regards,
> > > > > > >>> > > > > >>> David Handermann
> > > > > > >>> > > > > >>>
> > > > > > >>> > > > > >>> On Tue, Mar 19, 2024 at 1:45 PM Mike Thomsen <
> > > > > > >>> > > mikerthom...@gmail.com>
> > > > > > >>> > > > > >>> wrote:
> > > > > > >>> > > > > >>>>
> > > > > > >>> > > > > >>>> ** we can dump v3 **DRIVER** compatibility,
> since
> > > > later
> > > > > 4.X
> > > > > > >>> Java
> > > > > > >>> > > > > >> drivers
> > > > > > >>> > > > > >>>> are backward compatible with Cassandra 3
> > > > > > >>> > > > > >>>>
> > > > > > >>> > > > > >>>> On Tue, Mar 19, 2024 at 2:43 PM Mike Thomsen <
> > > > > > >>> > > mikerthom...@gmail.com>
> > > > > > >>> > > > > >>> wrote:
> > > > > > >>> > > > > >>>>
> > > > > > >>> > > > > >>>>> David,
> > > > > > >>> > > > > >>>>>
> > > > > > >>> > > > > >>>>> Before we proceed, I think we should make sure
> > > we're
> > > > > all
> > > > > > >>> > > > > >> understanding
> > > > > > >>> > > > > >>> the
> > > > > > >>> > > > > >>>>> same problem here. Starting with this:
> > > > > > >>> > > > > >>>>>
> > > > > > >>> > > > > >>>>>> I believe the CQL protocol is backwards
> > compatible
> > > > > but the
> > > > > > >>> > Java
> > > > > > >>> > > API
> > > > > > >>> > > > > >>> is
> > > > > > >>> > > > > >>>>> not.
> > > > > > >>> > > > > >>>>>> For example "com.datastax.driver.core.Session"
> > is
> > > > now
> > > > > > >>> > > > > >>>>>>
> > "com.datastax.oss.driver.api.core.session.Session"
> > > > and
> > > > > > >>> there
> > > > > > >>> > is
> > > > > > >>> > > no
> > > > > > >>> > > > > >>> more
> > > > > > >>> > > > > >>>>>> "Cluster" class. Might be fairly trivial to
> fix
> > > > > though, if
> > > > > > >>> > > that's
> > > > > > >>> > > > > >> the
> > > > > > >>> > > > > >>>>> path
> > > > > > >>> > > > > >>>>>> of least resistance.
> > > > > > >>> > > > > >>>>>
> > > > > > >>> > > > > >>>>> From what I've learned using Cassandra 3 and 4
> in
> > > my
> > > > > day
> > > > > > >>> job
> > > > > > >>> > and
> > > > > > >>> > > > > >>> reading
> > > > > > >>> > > > > >>>>> up on this stuff for the sake of discussion,
> that
> > > all
> > > > > > >>> tracks.
> > > > > > >>> > We
> > > > > > >>> > > used
> > > > > > >>> > > > > >>> the
> > > > > > >>> > > > > >>>>> ~4.11 driver in Spring Boot on both v3 and v4
> > > > clusters
> > > > > > >>> without
> > > > > > >>> > > issue
> > > > > > >>> > > > > >>> during
> > > > > > >>> > > > > >>>>> an upgrade. So I don't see any reason to factor
> > in
> > > > the
> > > > > > >>> "changes
> > > > > > >>> > > from
> > > > > > >>> > > > > >>>>> DataStax 3 to 4" since the changes were likely
> a
> > > > > one-off
> > > > > > >>> > decision
> > > > > > >>> > > > > >>> meant to
> > > > > > >>> > > > > >>>>> position the driver for better future support
> and
> > > > > > >>> stability.
> > > > > > >>> > > > > >>>>>
> > > > > > >>> > > > > >>>>> TL;DR, we can dump v3 compatibility and the
> only
> > > > thing
> > > > > our
> > > > > > >>> > users
> > > > > > >>> > > will
> > > > > > >>> > > > > >>>>> notice is if we make the controller service
> > totally
> > > > > > >>> > incompatible
> > > > > > >>> > > with
> > > > > > >>> > > > > >>> the
> > > > > > >>> > > > > >>>>> one they're already using which is something we
> > can
> > > > > > >>> actively
> > > > > > >>> > > avoid.
> > > > > > >>> > > > > >>>>>
> > > > > > >>> > > > > >>>>> On Tue, Mar 19, 2024 at 2:00 PM David
> Handermann
> > <
> > > > > > >>> > > > > >>>>> exceptionfact...@apache.org> wrote:
> > > > > > >>> > > > > >>>>>
> > > > > > >>> > > > > >>>>>> All,
> > > > > > >>> > > > > >>>>>>
> > > > > > >>> > > > > >>>>>> I support a Controller Service API abstraction
> > > > around
> > > > > the
> > > > > > >>> > > Cassandra
> > > > > > >>> > > > > >>>>>> Driver. The changes from DataStax 3 to 4
> already
> > > > > > >>> highlight the
> > > > > > >>> > > need
> > > > > > >>> > > > > >>>>>> for that abstraction. The donation of the
> > DataStax
> > > > > Java
> > > > > > >>> driver
> > > > > > >>> > > to
> > > > > > >>> > > > > >>>>>> Apache [1] also shows the value of providing
> > some
> > > > > level of
> > > > > > >>> > > > > >> isolation,
> > > > > > >>> > > > > >>>>>> if at all possible.
> > > > > > >>> > > > > >>>>>>
> > > > > > >>> > > > > >>>>>> I have not taken a close look at the Matt's
> > > branch,
> > > > > and
> > > > > > >>> the
> > > > > > >>> > > details
> > > > > > >>> > > > > >> of
> > > > > > >>> > > > > >>>>>> the abstraction are important, but having the
> > > > > abstraction
> > > > > > >>> can
> > > > > > >>> > be
> > > > > > >>> > > > > >>>>>> useful to avoid getting back to this same
> > > situation.
> > > > > > >>> > > > > >>>>>>
> > > > > > >>> > > > > >>>>>> Regards,
> > > > > > >>> > > > > >>>>>> David Handermann
> > > > > > >>> > > > > >>>>>>
> > > > > > >>> > > > > >>>>>> [1]
> > > > https://github.com/apache/cassandra-java-driver/
> > > > > > >>> > > > > >>>>>>
> > > > > > >>> > > > > >>>>>> On Tue, Mar 19, 2024 at 12:37 PM Mike Thomsen
> <
> > > > > > >>> > > > > >> mikerthom...@gmail.com
> > > > > > >>> > > > > >>>>
> > > > > > >>> > > > > >>>>>> wrote:
> > > > > > >>> > > > > >>>>>>>
> > > > > > >>> > > > > >>>>>>> Matt,
> > > > > > >>> > > > > >>>>>>>
> > > > > > >>> > > > > >>>>>>> I got that. My point was that the Java
> changes
> > > > > appear to
> > > > > > >>> be a
> > > > > > >>> > > one
> > > > > > >>> > > > > >>> time
> > > > > > >>> > > > > >>>>>>> thing that DataStax did to make a better
> driver
> > > > with
> > > > > a
> > > > > > >>> much
> > > > > > >>> > > more
> > > > > > >>> > > > > >>>>>>> future-proof API. Since Scylla tracks them as
> > > > > closely as
> > > > > > >>> > > > > >> possible, I
> > > > > > >>> > > > > >>>>>>> suspect that we don't need to plan for a
> bunch
> > of
> > > > > > >>> abstraction
> > > > > > >>> > > to
> > > > > > >>> > > > > >>> isolate
> > > > > > >>> > > > > >>>>>>> Java changes.
> > > > > > >>> > > > > >>>>>>>
> > > > > > >>> > > > > >>>>>>> On Tue, Mar 19, 2024 at 11:07 AM Steven
> > Matison <
> > > > > > >>> > > > > >>>>>> steven.mati...@gmail.com>
> > > > > > >>> > > > > >>>>>>> wrote:
> > > > > > >>> > > > > >>>>>>>
> > > > > > >>> > > > > >>>>>>>> That was kinda where i got stuck and fell
> out
> > on
> > > > my
> > > > > > >>> > > branch/jira.
> > > > > > >>> > > > > >>>>>> Mike and
> > > > > > >>> > > > > >>>>>>>> I wanted to make a new controller service ,
> > > > without
> > > > > > >>> backward
> > > > > > >>> > > > > >>>>>> compatibility;
> > > > > > >>> > > > > >>>>>>>> and remove the duplicate driver/connection
> > > > > properties
> > > > > > >>> found
> > > > > > >>> > in
> > > > > > >>> > > > > >>> some
> > > > > > >>> > > > > >>>>>> of the
> > > > > > >>> > > > > >>>>>>>> processors.
> > > > > > >>> > > > > >>>>>>>>
> > > > > > >>> > > > > >>>>>>>> I agree taking out all old stuff and making
> > new
> > > > > > >>> controller
> > > > > > >>> > > > > >> service
> > > > > > >>> > > > > >>>>>> makes
> > > > > > >>> > > > > >>>>>>>> most sense.  4.x and 5.x should be mostly
> > > > backwards
> > > > > > >>> > compatible
> > > > > > >>> > > > > >> to
> > > > > > >>> > > > > >>>>>> 2&3.x
> > > > > > >>> > > > > >>>>>>>> with how it’s used within current
> processors.
> > > > > > >>> > > > > >>>>>>>>
> > > > > > >>> > > > > >>>>>>>>
> > > > > > >>> > > > > >>>>>>>>
> > > > > > >>> > > > > >>>>>>>> On Tue, Mar 19, 2024 at 10:49 AM Matt
> Burgess
> > <
> > > > > > >>> > > > > >>> mattyb...@apache.org>
> > > > > > >>> > > > > >>>>>>>> wrote:
> > > > > > >>> > > > > >>>>>>>>
> > > > > > >>> > > > > >>>>>>>>> The abstraction is to isolate Java API
> > changes,
> > > > not
> > > > > > >>> > protocol
> > > > > > >>> > > > > >>>>>>>> compatibility
> > > > > > >>> > > > > >>>>>>>>> Changing to the java-driver comes with a
> > number
> > > > of
> > > > > > >>> changes
> > > > > > >>> > to
> > > > > > >>> > > > > >>> the
> > > > > > >>> > > > > >>>>>> code
> > > > > > >>> > > > > >>>>>>>> (see
> > > > > > >>> > > > > >>>>>>>>> Steven's and my branches), if we can
> abstract
> > > > that
> > > > > API
> > > > > > >>> it
> > > > > > >>> > > > > >> should
> > > > > > >>> > > > > >>>>>> lead to
> > > > > > >>> > > > > >>>>>>>>> more maintainable code in the future by not
> > > > having
> > > > > to
> > > > > > >>> > change
> > > > > > >>> > > > > >> any
> > > > > > >>> > > > > >>>>>>>>> processors, just the controller service
> > > > > implementation.
> > > > > > >>> > > > > >>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>> On Tue, Mar 19, 2024 at 10:14 AM Mike
> > Thomsen <
> > > > > > >>> > > > > >>>>>> mikerthom...@gmail.com>
> > > > > > >>> > > > > >>>>>>>>> wrote:
> > > > > > >>> > > > > >>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>
> > > > > > >>> > > > > >>>>>>
> > > > > > >>> > > > > >>>
> > > > > > >>> > > > > >>
> > > > > > >>> > > > >
> > > > > > >>> > >
> > > > > > >>> >
> > > > > > >>>
> > > > >
> > > >
> > >
> >
> https://opensource.docs.scylladb.com/stable/using-scylla/drivers/cql-drivers/scylla-java-driver.html
> > > > > > >>> > > > > >>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>> Directly quoting Scylla docs here:
> > > > > > >>> > > > > >>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>> The Scylla Java Driver is a drop-in
> > > replacement
> > > > > for
> > > > > > >>> the
> > > > > > >>> > > > > >>>>>> DataStax Java
> > > > > > >>> > > > > >>>>>>>>>> Driver. As such, no code changes are
> needed
> > to
> > > > use
> > > > > > >>> this
> > > > > > >>> > > > > >>> driver.
> > > > > > >>> > > > > >>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>> On Tue, Mar 19, 2024 at 10:13 AM Mike
> > Thomsen
> > > <
> > > > > > >>> > > > > >>>>>> mikerthom...@gmail.com>
> > > > > > >>> > > > > >>>>>>>>>> wrote:
> > > > > > >>> > > > > >>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>> Matt,
> > > > > > >>> > > > > >>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>> I don't think we need to really "abstract
> > > > above"
> > > > > the
> > > > > > >>> > > > > >> drivers
> > > > > > >>> > > > > >>>>>> because
> > > > > > >>> > > > > >>>>>>>>> the
> > > > > > >>> > > > > >>>>>>>>>>> Java DataStax driver appears to support
> 4.X
> > > all
> > > > > the
> > > > > > >>> way
> > > > > > >>> > > > > >>> back to
> > > > > > >>> > > > > >>>>>> 2.X,
> > > > > > >>> > > > > >>>>>>>> as
> > > > > > >>> > > > > >>>>>>>>>>> well as the enterprise versions from
> > DataStax
> > > > > > >>> > > > > >>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>
> > > > > > >>> > >
> > > > > https://docs.datastax.com/en/driver-matrix/docs/java-drivers.html
> > > > > > >>> > > > > >>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>> Similar situation with Scylla. When I
> > looked
> > > at
> > > > > the
> > > > > > >>> > > > > >> driver,
> > > > > > >>> > > > > >>> it
> > > > > > >>> > > > > >>>>>>>> appeared
> > > > > > >>> > > > > >>>>>>>>>> to
> > > > > > >>> > > > > >>>>>>>>>>> copy verbatim the entire public API of
> that
> > > > > driver.
> > > > > > >>> So I
> > > > > > >>> > > > > >>> think
> > > > > > >>> > > > > >>>>>> before
> > > > > > >>> > > > > >>>>>>>>> we
> > > > > > >>> > > > > >>>>>>>>>>> dive into abstractions, it's worth doing
> a
> > > bit
> > > > > more
> > > > > > >>> > > > > >>> validation
> > > > > > >>> > > > > >>>>>> of
> > > > > > >>> > > > > >>>>>>>> these
> > > > > > >>> > > > > >>>>>>>>>>> details. IMHO, this might be a much
> lighter
> > > > lift
> > > > > than
> > > > > > >>> > > > > >>>>>> anticipated.
> > > > > > >>> > > > > >>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>> On Mon, Mar 18, 2024 at 4:30 PM Matt
> > Burgess
> > > <
> > > > > > >>> > > > > >>>>>> mattyb...@gmail.com>
> > > > > > >>> > > > > >>>>>>>>>> wrote:
> > > > > > >>> > > > > >>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>> Totally agree, that's what my branch
> does
> > > (see
> > > > > link
> > > > > > >>> in
> > > > > > >>> > > > > >>> previous
> > > > > > >>> > > > > >>>>>>>>> email).
> > > > > > >>> > > > > >>>>>>>>>>>> The
> > > > > > >>> > > > > >>>>>>>>>>>> more I work with it, the more I think I
> > can
> > > > > > >>> abstract it
> > > > > > >>> > > > > >>>>>> further from
> > > > > > >>> > > > > >>>>>>>>>> their
> > > > > > >>> > > > > >>>>>>>>>>>> JDBC-like API but I started with a bunch
> > of
> > > > > delegate
> > > > > > >>> > > > > >>> classes
> > > > > > >>> > > > > >>>>>> then I
> > > > > > >>> > > > > >>>>>>>>>> figure
> > > > > > >>> > > > > >>>>>>>>>>>> I'll see where I can consolidate to more
> > > > > abstract
> > > > > > >>> > > > > >>> concepts. If
> > > > > > >>> > > > > >>>>>> I
> > > > > > >>> > > > > >>>>>>>> don't
> > > > > > >>> > > > > >>>>>>>>>>>> have
> > > > > > >>> > > > > >>>>>>>>>>>> to support Cassandra 3 with the new API,
> > so
> > > > > much the
> > > > > > >>> > > > > >>> better.
> > > > > > >>> > > > > >>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>> Regards,
> > > > > > >>> > > > > >>>>>>>>>>>> Matt
> > > > > > >>> > > > > >>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>> On Mon, Mar 18, 2024 at 4:14 PM David
> > > > > Handermann <
> > > > > > >>> > > > > >>>>>>>>>>>> exceptionfact...@apache.org> wrote:
> > > > > > >>> > > > > >>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>> Matt et al,
> > > > > > >>> > > > > >>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>> It is good to see the background effort
> > on
> > > > > moving
> > > > > > >>> > > > > >>> Cassandra
> > > > > > >>> > > > > >>>>>>>>>>>>> capabilities in a supportable
> direction.
> > > > > > >>> > > > > >>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>> I think new Cassandra components will
> > > > require a
> > > > > > >>> > > > > >>> significant
> > > > > > >>> > > > > >>>>>>>>> departure
> > > > > > >>> > > > > >>>>>>>>>>>>> from current Controller Service
> > > abstractions.
> > > > > Right
> > > > > > >>> > > > > >> now,
> > > > > > >>> > > > > >>> the
> > > > > > >>> > > > > >>>>>>>>> existing
> > > > > > >>> > > > > >>>>>>>>>>>>> service interface does not provide a
> > clean
> > > > > > >>> abstraction
> > > > > > >>> > > > > >>> from
> > > > > > >>> > > > > >>>>>> the
> > > > > > >>> > > > > >>>>>>>>>>>>> Cassandra library, which is part of the
> > > > reason
> > > > > for
> > > > > > >>> the
> > > > > > >>> > > > > >>>>>> current
> > > > > > >>> > > > > >>>>>>>>>>>>> coupling to the legacy driver version.
> > > > > > >>> > > > > >>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>> Following up from Joe's comments, it
> > seems
> > > > > like the
> > > > > > >>> > > > > >>> cleanest
> > > > > > >>> > > > > >>>>>> way
> > > > > > >>> > > > > >>>>>>>>>>>>> forward is to deprecate the current
> > bundle
> > > on
> > > > > the
> > > > > > >>> 1.x
> > > > > > >>> > > > > >>>>>> branch, and
> > > > > > >>> > > > > >>>>>>>>>>>>> remove the current bundle from the main
> > > > branch.
> > > > > > >>> That
> > > > > > >>> > > > > >> will
> > > > > > >>> > > > > >>>>>> provide
> > > > > > >>> > > > > >>>>>>>> a
> > > > > > >>> > > > > >>>>>>>>>>>>> clean slate for new Service and
> Processor
> > > > > > >>> > > > > >>> implementations,
> > > > > > >>> > > > > >>>>>> without
> > > > > > >>> > > > > >>>>>>>>>>>>> concern for uncertain compatibility
> > > > questions.
> > > > > > >>> > > > > >>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>> Regards,
> > > > > > >>> > > > > >>>>>>>>>>>>> David Handermann
> > > > > > >>> > > > > >>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>> On Mon, Mar 18, 2024 at 2:35 PM Matt
> > > Burgess
> > > > <
> > > > > > >>> > > > > >>>>>>>> mattyb...@apache.org>
> > > > > > >>> > > > > >>>>>>>>>>>> wrote:
> > > > > > >>> > > > > >>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>> What do y'all think about removing the
> > > > > individual
> > > > > > >>> > > > > >>>>>> connection
> > > > > > >>> > > > > >>>>>>>>>>>> properties
> > > > > > >>> > > > > >>>>>>>>>>>>>> from the Cassandra processors for NiFi
> > 2.0
> > > > and
> > > > > > >>> > > > > >>> requiring a
> > > > > > >>> > > > > >>>>>>>>>>>>>> CassandraSessionProvider instead? I
> > think
> > > we
> > > > > > >>> started
> > > > > > >>> > > > > >>> doing
> > > > > > >>> > > > > >>>>>> that
> > > > > > >>> > > > > >>>>>>>>>>>> elsewhere
> > > > > > >>> > > > > >>>>>>>>>>>>>> (Elasticsearch maybe?), I noticed
> > > duplicate
> > > > > code
> > > > > > >>> in
> > > > > > >>> > > > > >> the
> > > > > > >>> > > > > >>>>>>>>>>>>>> CassandraSessionProvider and
> > > > > > >>> > > > > >>> AbstractCassandraProcessor,
> > > > > > >>> > > > > >>>>>> if we
> > > > > > >>> > > > > >>>>>>>>> keep
> > > > > > >>> > > > > >>>>>>>>>>>> those
> > > > > > >>> > > > > >>>>>>>>>>>>>> properties I can refactor them into a
> > > > utility
> > > > > > >>> class.
> > > > > > >>> > > > > >>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>> Thanks,
> > > > > > >>> > > > > >>>>>>>>>>>>>> Matt
> > > > > > >>> > > > > >>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>> On Fri, Mar 15, 2024 at 2:44 PM Steven
> > > > > Matison <
> > > > > > >>> > > > > >>>>>>>>>>>> steven.mati...@gmail.com
> > > > > > >>> > > > > >>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>> wrote:
> > > > > > >>> > > > > >>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>> I got through quite a bit of work to
> > > enable
> > > > > 4.x…
> > > > > > >>> > > > > >>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>> The 3.x pieces that were not
> backwards
> > > > > compatible
> > > > > > >>> > > > > >> is
> > > > > > >>> > > > > >>>>>> very edge
> > > > > > >>> > > > > >>>>>>>>> use
> > > > > > >>> > > > > >>>>>>>>>>>>> case and
> > > > > > >>> > > > > >>>>>>>>>>>>>>> could have been done slightly
> > differently
> > > > but
> > > > > > >>> with
> > > > > > >>> > > > > >>> work
> > > > > > >>> > > > > >>>>>>>> around.
> > > > > > >>> > > > > >>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>
> > > > https://github.com/steven-matison/nifi/tree/nifi-10120-1
> > > > > > >>> > > > > >>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>> On Fri, Mar 15, 2024 at 2:30 PM Matt
> > > > Burgess
> > > > > <
> > > > > > >>> > > > > >>>>>>>>>> mattyb...@apache.org>
> > > > > > >>> > > > > >>>>>>>>>>>>> wrote:
> > > > > > >>> > > > > >>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>> Oops used the wrong email address so
> > if
> > > > > there
> > > > > > >>> > > > > >> have
> > > > > > >>> > > > > >>> been
> > > > > > >>> > > > > >>>>>>>>>> responses
> > > > > > >>> > > > > >>>>>>>>>>>> to
> > > > > > >>> > > > > >>>>>>>>>>>>> the
> > > > > > >>> > > > > >>>>>>>>>>>>>>>> Cassandra thread since mine I missed
> > > them,
> > > > > my
> > > > > > >>> > > > > >> bad!
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>> On Fri, Mar 15, 2024 at 2:00 PM Matt
> > > > > Burgess <
> > > > > > >>> > > > > >>>>>>>>>> mattyb...@gmail.com
> > > > > > >>> > > > > >>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>> wrote:
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>> I believe the CQL protocol is
> > backwards
> > > > > > >>> > > > > >>> compatible
> > > > > > >>> > > > > >>>>>> but the
> > > > > > >>> > > > > >>>>>>>>>> Java
> > > > > > >>> > > > > >>>>>>>>>>>>> API is
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>> not. For example
> > > > > > >>> > > > > >>> "com.datastax.driver.core.Session"
> > > > > > >>> > > > > >>>>>> is now
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>
> "com.datastax.oss.driver.api.core.session.Session"
> > > > > > >>> > > > > >>>>>> and
> > > > > > >>> > > > > >>>>>>>> there
> > > > > > >>> > > > > >>>>>>>>>> is
> > > > > > >>> > > > > >>>>>>>>>>>> no
> > > > > > >>> > > > > >>>>>>>>>>>>> more
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>> "Cluster" class. Might be fairly
> > > trivial
> > > > > to fix
> > > > > > >>> > > > > >>>>>> though, if
> > > > > > >>> > > > > >>>>>>>>>>>> that's
> > > > > > >>> > > > > >>>>>>>>>>>>> the
> > > > > > >>> > > > > >>>>>>>>>>>>>>>> path
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>> of least resistance.
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>> On Fri, Mar 15, 2024 at 1:40 PM Joe
> > > Witt
> > > > <
> > > > > > >>> > > > > >>>>>>>>> joe.w...@gmail.com>
> > > > > > >>> > > > > >>>>>>>>>>>>> wrote:
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>> Matt
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>> I dont know a ton about Cassandra
> > but
> > > > > when I
> > > > > > >>> > > > > >>> looked
> > > > > > >>> > > > > >>>>>> at
> > > > > > >>> > > > > >>>>>>>>>>>>> client/driver
> > > > > > >>> > > > > >>>>>>>>>>>>>>>> notes
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>> for 4+ it said it was compatible
> all
> > > the
> > > > > way
> > > > > > >>> > > > > >>> back
> > > > > > >>> > > > > >>>>>> to 3.x.
> > > > > > >>> > > > > >>>>>>>>>> Not
> > > > > > >>> > > > > >>>>>>>>>>>>> sure
> > > > > > >>> > > > > >>>>>>>>>>>>>>>> what
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>> that means but it surely seems
> worth
> > > > > > >>> > > > > >> exploring.
> > > > > > >>> > > > > >>>>>> Also I
> > > > > > >>> > > > > >>>>>>>>> dont
> > > > > > >>> > > > > >>>>>>>>>>>> know
> > > > > > >>> > > > > >>>>>>>>>>>>> if
> > > > > > >>> > > > > >>>>>>>>>>>>>>> the
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>> 4.x drivers get rid of the
> > vulnerable
> > > > > bits.
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>> Thanks
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>> On Fri, Mar 15, 2024 at 10:39 AM
> > Matt
> > > > > Burgess
> > > > > > >>> > > > > >> <
> > > > > > >>> > > > > >>>>>>>>>>>>> mattyb...@apache.org>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>> wrote:
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>> At the very least we should
> upgrade
> > > to
> > > > > > >>> > > > > >>> Cassandra
> > > > > > >>> > > > > >>>>>>>> 3.11.6:
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>
> > > > > > >>> > > > > >>>>>>
> > > > > > >>> > > > > >>>
> > > > > > >>> > >
> > > > > > >>>
> > > > >
> > https://github.com/apache/cassandra/blob/cassandra-3.11.16/CHANGES.txt
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>> On Fri, Mar 15, 2024 at 1:31 PM
> > Matt
> > > > > > >>> > > > > >> Burgess <
> > > > > > >>> > > > > >>>>>>>>>>>>> mattyb...@apache.org>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>> wrote:
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>> If the community agrees to get
> rid
> > > of
> > > > > > >>> > > > > >>> Cassandra
> > > > > > >>> > > > > >>>>>> 3
> > > > > > >>> > > > > >>>>>>>>> that'll
> > > > > > >>> > > > > >>>>>>>>>>>>> save me
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>> effort
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>> on the refactor after I add
> > > Cassandra
> > > > 4
> > > > > :)
> > > > > > >>> > > > > >>>>>> Otherwise
> > > > > > >>> > > > > >>>>>>>>>> those
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>> vulnerabilities would only be
> in a
> > > > "new"
> > > > > > >>> > > > > >>>>>> Cassandra 3
> > > > > > >>> > > > > >>>>>>>>>>>> services
> > > > > > >>> > > > > >>>>>>>>>>>>> NAR
> > > > > > >>> > > > > >>>>>>>>>>>>>>>> that
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>> would not be included in the
> > > > convenience
> > > > > > >>> > > > > >>> binary.
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>> On Fri, Mar 15, 2024 at 1:28 PM
> > Joe
> > > > > Witt <
> > > > > > >>> > > > > >>>>>>>>>>>> joe.w...@gmail.com>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>> wrote:
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>> Mike, Matt,
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>> Happy to hear you both have
> > active
> > > > > > >>> > > > > >> efforts
> > > > > > >>> > > > > >>> or
> > > > > > >>> > > > > >>>>>> are
> > > > > > >>> > > > > >>>>>>>>>>>> interested
> > > > > > >>> > > > > >>>>>>>>>>>>> in
> > > > > > >>> > > > > >>>>>>>>>>>>>>>> doing
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>> so.
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>> Can you help me understand more
> > > > > > >>> > > > > >>> specifically
> > > > > > >>> > > > > >>>>>> what
> > > > > > >>> > > > > >>>>>>>> that
> > > > > > >>> > > > > >>>>>>>>>>>> means
> > > > > > >>> > > > > >>>>>>>>>>>>> for
> > > > > > >>> > > > > >>>>>>>>>>>>>>>> the
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>> current set of components?
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>> The CVE hits are concerning and
> > > long
> > > > > > >>> > > > > >>> standing.
> > > > > > >>> > > > > >>>>>>>>>> Supporting
> > > > > > >>> > > > > >>>>>>>>>>>>>>>> Cassandra
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>> 3
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>> implies the current set of
> > > > dependencies
> > > > > > >>> > > > > >>> would
> > > > > > >>> > > > > >>>>>> remain
> > > > > > >>> > > > > >>>>>>>>> too
> > > > > > >>> > > > > >>>>>>>>>>>>> right?
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>> Is the current set of
> components
> > we
> > > > > have
> > > > > > >>> > > > > >>> ones
> > > > > > >>> > > > > >>>>>> we
> > > > > > >>> > > > > >>>>>>>> want
> > > > > > >>> > > > > >>>>>>>>> to
> > > > > > >>> > > > > >>>>>>>>>>>>> retain?
> > > > > > >>> > > > > >>>>>>>>>>>>>>>> We
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>> certainly need Cassandra
> > > components -
> > > > > but
> > > > > > >>> > > > > >>> are
> > > > > > >>> > > > > >>>>>> the
> > > > > > >>> > > > > >>>>>>>> ones
> > > > > > >>> > > > > >>>>>>>>>> we
> > > > > > >>> > > > > >>>>>>>>>>>>> have
> > > > > > >>> > > > > >>>>>>>>>>>>>>> now
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>> the
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>> right ones?
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>> Thanks
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>> Joe
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>> On Fri, Mar 15, 2024 at
> 10:25 AM
> > > Matt
> > > > > > >>> > > > > >>> Burgess <
> > > > > > >>> > > > > >>>>>>>>>>>>>>>> mattyb...@apache.org>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>> wrote:
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>> I'm actively working this, I
> > > pushed
> > > > my
> > > > > > >>> > > > > >>>>>> branch up
> > > > > > >>> > > > > >>>>>>>> in
> > > > > > >>> > > > > >>>>>>>>>> case
> > > > > > >>> > > > > >>>>>>>>>>>>> anyone
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>> wants
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>> to
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>> take a look [1]. The idea is
> to
> > > > > > >>> > > > > >> abstract
> > > > > > >>> > > > > >>> the
> > > > > > >>> > > > > >>>>>>>>> Cassandra
> > > > > > >>> > > > > >>>>>>>>>>>> API
> > > > > > >>> > > > > >>>>>>>>>>>>> "up
> > > > > > >>> > > > > >>>>>>>>>>>>>>> a
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>> couple
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>> levels" and provide
> > > implementations
> > > > > for
> > > > > > >>> > > > > >>>>>> Cassandra
> > > > > > >>> > > > > >>>>>>>> 3,
> > > > > > >>> > > > > >>>>>>>>>> 4,
> > > > > > >>> > > > > >>>>>>>>>>>> and
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>> eventually
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>> 5.
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>> For JDBC-like interfaces this
> > is a
> > > > > PITA
> > > > > > >>> > > > > >>>>>> because of
> > > > > > >>> > > > > >>>>>>>>> the
> > > > > > >>> > > > > >>>>>>>>>>>> API
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>> (Statement,
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>> PreparedStatement,
> > BoundStatement,
> > > > > > >>> > > > > >>> ResultSet,
> > > > > > >>> > > > > >>>>>>>> etc.)
> > > > > > >>> > > > > >>>>>>>>>> but
> > > > > > >>> > > > > >>>>>>>>>>>> I'm
> > > > > > >>> > > > > >>>>>>>>>>>>>>>> hoping
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>> we
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>> can
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>> find a common pattern for
> > > > abstracting
> > > > > > >>> > > > > >> the
> > > > > > >>> > > > > >>>>>>>>> third-party
> > > > > > >>> > > > > >>>>>>>>>>>>> library
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>> implementation and API from
> the
> > > NiFi
> > > > > > >>> > > > > >>>>>> component
> > > > > > >>> > > > > >>>>>>>>>>>> (Processor,
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>> ControllerService, etc.) API.
> I
> > > > think
> > > > > > >>> > > > > >>> we're
> > > > > > >>> > > > > >>>>>> doing
> > > > > > >>> > > > > >>>>>>>>>>>> something
> > > > > > >>> > > > > >>>>>>>>>>>>>>>> similar
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>> for
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>> Kafka?
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>> Regards,
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>> Matt
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>> [1]
> > > > > > >>> > > > > >>>>>> https://github.com/mattyb149/nifi/tree/cassy4
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>> On Fri, Mar 15, 2024 at
> 8:43 AM
> > > Mike
> > > > > > >>> > > > > >>> Thomsen
> > > > > > >>> > > > > >>>>>> <
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>> mikerthom...@gmail.com>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>> wrote:
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>> That’s been on my todo list
> > for a
> > > > > > >>> > > > > >>> little
> > > > > > >>> > > > > >>>>>> while
> > > > > > >>> > > > > >>>>>>>> but
> > > > > > >>> > > > > >>>>>>>>>>>> things
> > > > > > >>> > > > > >>>>>>>>>>>>>>> kept
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>> coming
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>> up.
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>> I think I could get started
> on
> > > that
> > > > > > >>> > > > > >>> now.
> > > > > > >>> > > > > >>>>>> Based
> > > > > > >>> > > > > >>>>>>>> on
> > > > > > >>> > > > > >>>>>>>>> my
> > > > > > >>> > > > > >>>>>>>>>>>>> initial
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>> research
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>> it
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>> appears that scylla uses the
> > > exact
> > > > > > >>> > > > > >> same
> > > > > > >>> > > > > >>>>>> api as
> > > > > > >>> > > > > >>>>>>>>>>>> datastax
> > > > > > >>> > > > > >>>>>>>>>>>>> so
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>> supporting
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>> both
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>> in a cql bundle should
> > > > theoretically
> > > > > > >>> > > > > >> be
> > > > > > >>> > > > > >>>>>> fairly
> > > > > > >>> > > > > >>>>>>>>> easy.
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>> Sent from my iPhone
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>>> On Mar 14, 2024, at 6:18 PM,
> > Joe
> > > > > > >>> > > > > >>> Witt <
> > > > > > >>> > > > > >>>>>>>>>>>>> joew...@apache.org>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>> wrote:
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>>> Team,
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>>> Cassandra remains a really
> > > > > > >>> > > > > >> important
> > > > > > >>> > > > > >>>>>> system to
> > > > > > >>> > > > > >>>>>>>>> be
> > > > > > >>> > > > > >>>>>>>>>>>> able
> > > > > > >>> > > > > >>>>>>>>>>>>> to
> > > > > > >>> > > > > >>>>>>>>>>>>>>>> send
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>> data
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>> to.
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>>> However, it seems like we've
> > not
> > > > > > >>> > > > > >>>>>> maintained
> > > > > > >>> > > > > >>>>>>>>> these
> > > > > > >>> > > > > >>>>>>>>>>>>> well.  We
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>> have
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>> what
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>>> appears to be at least a
> full
> > > > > > >>> > > > > >>> generation
> > > > > > >>> > > > > >>>>>>>> behind
> > > > > > >>> > > > > >>>>>>>>> on
> > > > > > >>> > > > > >>>>>>>>>>>>> client
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>> versions
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>> (we
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>> are
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>>> on 3x vs 4x which is the
> > latest
> > > > > > >>> > > > > >>> stable
> > > > > > >>> > > > > >>>>>> with 5x
> > > > > > >>> > > > > >>>>>>>>>>>>> apparently
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>> coming
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>> shortly).
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>>> We have components to send
> > data,
> > > > > > >>> > > > > >>> query
> > > > > > >>> > > > > >>>>>> data,
> > > > > > >>> > > > > >>>>>>>> and
> > > > > > >>> > > > > >>>>>>>>>> use
> > > > > > >>> > > > > >>>>>>>>>>>>>>>> Cassandra
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>> as
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>> a
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>> cache
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>>> store.  We have older
> > mechanisms
> > > > > > >>> > > > > >> for
> > > > > > >>> > > > > >>>>>> json/avro
> > > > > > >>> > > > > >>>>>>>>> and
> > > > > > >>> > > > > >>>>>>>>>>>>> publish
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>> mechanisms
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>> for
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>>> records.
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>>> The libraries we do have
> > depend
> > > on
> > > > > > >>> > > > > >>>>>> outdated
> > > > > > >>> > > > > >>>>>>>>>>>> versions of
> > > > > > >>> > > > > >>>>>>>>>>>>>>> Guava
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>> and
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>> result
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>> in
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>>> many CVE hits.
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>>> I am inclined to think we
> > should
> > > > > > >>> > > > > >>>>>> deprecate the
> > > > > > >>> > > > > >>>>>>>>> 1.x
> > > > > > >>> > > > > >>>>>>>>>>>>>>> components
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>> and
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>> remove
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>>> them as-is from the 2.x
> line.
> > > > Then
> > > > > > >>> > > > > >>>>>>>> re-introduce
> > > > > > >>> > > > > >>>>>>>>>>>> them
> > > > > > >>> > > > > >>>>>>>>>>>>> with
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>> record
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>> only
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>>> interfaces and built against
> > the
> > > > > > >>> > > > > >>> latest
> > > > > > >>> > > > > >>>>>> stable
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>> Cassandra/Datastax/ScyllaDB
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>>> interfaces.
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>>> I'd love to hear thoughts
> from
> > > > > > >>> > > > > >> those
> > > > > > >>> > > > > >>>>>> closer to
> > > > > > >>> > > > > >>>>>>>>>> this
> > > > > > >>> > > > > >>>>>>>>>>>>> space
> > > > > > >>> > > > > >>>>>>>>>>>>>>>> both
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>> as
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>> a
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>> user
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>>> and developer so we can make
> > > good
> > > > > > >>> > > > > >>> next
> > > > > > >>> > > > > >>>>>> steps.
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>>> Thanks
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>>
> > > > > > >>> > > > > >>>>>>>>
> > > > > > >>> > > > > >>>>>>
> > > > > > >>> > > > > >>>>>
> > > > > > >>> > > > > >>>
> > > > > > >>> > > > > >>
> > > > > > >>> > > > >
> > > > > > >>> > >
> > > > > > >>> >
> > > > > > >>>
> > > > > > >>
> > > > >
> > > >
> > >
> >
>

Reply via email to