It seems to me that the question that we need to answer, before Maxim puts
more effort into this work, is: what is the future of JMX?
I agree that we have never been clear about that decision up to now. At
least now we have a reason to clarify that point.

I can start a discussion about that if people agree?

Le dim. 29 janv. 2023 à 10:14, Dinesh Joshi <djo...@apache.org> a écrit :

> I’m also very interested in this area. I quickly skimmed the proposal and
> IIUC it doesn’t call for moving away from JMX. Instead I think it’s making
> it easier to expose metrics over various interfaces. Maxim please correct
> me if I’m wrong in my understanding.
>
> I also second Josh’s point on JMX usage. I know it’s disabled in some
> deployments but it is not common practice in most places.
>
> Dinesh
>
> On Jan 28, 2023, at 4:10 PM, Josh McKenzie <jmcken...@apache.org> wrote:
>
> 
> First off - thanks so much for putting in this effort Maxim! This is
> excellent work.
>
> Some thoughts on the CEP and responses in thread:
>
> *Considering that JMX is usually not used and disabled in production
> environments for various performance and security reasons, the operator may
> not see the same picture from various of Dropwizard's metrics exporters and
> integrations as Cassandra's JMX metrics provide [1][2].*
>
> I don't think this assertion is true. Cassandra is running in a *lot* of
> places in the world, and JMX has been in this ecosystem for a long time; we
> need data that is basically impossible to get to claim "JMX is usually not
> used in C* environments in prod".
>
> I also wonder about if we should care about JMX?  I know many wish to
> migrate (its going to be a very long time) away from JMX, so do we need a
> wrapper to make JMX and vtables consistent?
>
> If we can move away from a bespoke vtable or JMX based implementation and
> instead have a templatized solution each of these is generated from, that
> to me is the superior option. There's little harm in adding new JMX
> endpoints (or hell, other metrics framework integration?) as a byproduct of
> adding new vtable exposed metrics; we have the same maintenance obligation
> to them as we have to the vtables and if it generates from the same base
> data, we shouldn't have any further maintenance burden due to its presence
> right?
>
> we wish to move away from JMX
>
> I do, and you do, and many people do, but I don't believe *all* people on
> the project do. The last time this came up in slack the conclusion was
> "Josh should go draft a CEP to chart out a path to moving off JMX while
> maintaining backwards-compat w/existing JMX metrics for environments that
> are using them" (so I'm excited to see this CEP pop up before I got to it!
> ;)). Moving to a system that gives us a 0-cost way to keep JMX and vtable
> in sync over time on new metrics seems like a nice compromise for folks
> that have built out JMX-based maintenance infra on top of C*. Plus removing
> the boilerplate toil on vtables. win-win.
>
> If we add a column to the end of the JMX row did we just break users?
>
> I *think* this is arguably true for a vtable / CQL-based solution as well
> from the "you don't know how people are using your API" perspective. Unless
> we have clear guidelines about discretely selecting the columns you want
> from a vtable and trust users to follow them, if people have brittle greedy
> parsers pulling in all data from vtables we could very well break them as
> well by adding a new column right? Could be wrong here; I haven't written
> anything that consumes vtable metric data and maybe the obvious idiom in
> the face of that is robust in the presence of column addition. /shrug
>
> It's certainly more flexible and simpler to write to w/out detonating
> compared to JMX, but it's still an API we'd be revving.
>
> On Sat, Jan 28, 2023, at 4:24 PM, Ekaterina Dimitrova wrote:
>
> Overall I have similar thoughts and questions as David.
>
> I just wanted to add a reminder about this thread from last summer[1]. We
> already have issues with the alignment of JMX and Settings Virtual Table. I
> guess this is how Maxim got inspired to suggest this framework proposal
> which I want to thank him for! (I noticed he assigned CASSANDRA-15254)
>
> Not to open the Pandora box, but to me the most important thing here is to
> come into agreement about the future of JMX and what we will do or not as a
> community. Also, how much time people are able to invest. I guess this will
> influence any directions to be taken here.
>
> [1]
> https://lists.apache.org/thread/8mjcwdyqoobpvw2262bqmskkhs76pp69
>
>
> On Thu, 26 Jan 2023 at 12:41, David Capwell <dcapw...@apple.com> wrote:
>
> I took a look and I see the result is an interface that looks like the
> vtable interface, that is then used by vtables and JMX?  My first thought
> is why not just use the vtable logic?
>
> I also wonder about if we should care about JMX?  I know many wish to
> migrate (its going to be a very long time) away from JMX, so do we need a
> wrapper to make JMX and vtables consistent?  I am cool with something like
> the following
>
> registerWithJMX(jmxName, query(“SELECT * FROM system_views.streaming”));
>
>
> So if we want to have a JMX view that matches the table then that’s cool
> by me, but one thing that has been brought up in reviews is backwards
> compatibility with regard to adding columns… If we add a column to the end
> of the JMX row did we just break users?
>
> Considering that JMX is usually not used and disabled in production
> environments for various performance and security reasons, the operator may
> not see the same picture from various of Dropwizard's metrics exporters
>
> If this is a real problem people are hitting, we can always add the
> ability to push metrics to common systems with a pluggable way to add
> non-standard solutions.  Dropwizard already support this so would be low
> hanging fruit to address this.
>
> To make the proposed changes backwards compatible with the previous
> version of Cassandra, all MBeans and Virtual Tables we already have will
> remain unchanged
>
>
> If this is for new JMX endpoints moving forward, I am not sure of the
> benefit for the same reason listed above; we wish to move away from JMX
>
> On Jan 25, 2023, at 10:51 AM, Maxim Muzafarov <mmu...@apache.org> wrote:
>
> Hello Cassandra Community,
>
>
> I've been faced with a number of inconsistencies in the user APIs of
> the internal data collections representation exposed through the
> Cassandra monitoring interfaces that need to be fully aligned from an
> operator perspective. First of all, I'm highlighting JMX, Dropwizard
> Metrics, and Virtual Tables user interfaces. In order to address all
> these inconsistencies, I have created a draft enhancement proposal
> that describes everything I have found and how we can fix it once and
> for all.
>
> I'd like to hear your opinion and thoughts on it. Please take a look:
>
> https://docs.google.com/document/d/1j4J3bPWjQkAU9x4G-zxKObxPrKg36jLRT6xpUoNJa8Q
>
>
> --
> Maxim Muzafarov
>
>
>

Reply via email to