You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Kelley Reynolds (Created) (JIRA)" <ji...@apache.org> on 2011/11/23 19:51:41 UTC

[jira] [Created] (CASSANDRA-3527) Expose JMX values via CQL interface

Expose JMX values via CQL interface
-----------------------------------

                 Key: CASSANDRA-3527
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3527
             Project: Cassandra
          Issue Type: New Feature
          Components: Core
            Reporter: Kelley Reynolds
            Priority: Minor




--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Issue Comment Edited] (CASSANDRA-3527) Expose JMX values via CQL interface

Posted by "Jeremiah Jordan (Issue Comment Edited) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-3527?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13161810#comment-13161810 ] 

Jeremiah Jordan edited comment on CASSANDRA-3527 at 12/2/11 7:41 PM:
---------------------------------------------------------------------

I think we need to talk about MX4J more to people who want this.  Drop the mx4j-tools.jar in your lib folder, restart, and all stats are a curl request away.  Maybe add more visible links to mx4j-tools.jar?  I'm not sure what the license is on the file, but can we add an "optional libs" folder or something and put it in there if people don't want it by default?  Maybe make a cassandra-mx4j .deb/.rpm which adds it to the classpath?
                
      was (Author: jjordan):
    I think we need to talk about MX4J more to people who want this.  Drop the mx4j-tools.jar in your lib folder, restart, and all stats are a curl request away.  Maybe add more visible links to the mx4j-tools.jar jar?  I'm not sure what the license is on the file, but can we add an "optional libs" folder or something and put it in there if people don't want it by default?  Maybe make a cassandra-mx4j .deb/.rpm which adds it to the classpath?
                  
> Expose JMX values via CQL interface
> -----------------------------------
>
>                 Key: CASSANDRA-3527
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3527
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Kelley Reynolds
>            Priority: Minor
>              Labels: cql
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3527) Expose JMX values via CQL interface

Posted by "Kelley Reynolds (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-3527?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13157364#comment-13157364 ] 

Kelley Reynolds commented on CASSANDRA-3527:
--------------------------------------------

bq. It's two very different types of data, that serve very different purposes.

I think it's a bug to have multiple ways of getting and setting values, especially since the line between JMX/Thrift/ is already. Some examples: You can specify strategy and RF when creating a keyspace with CQL but you can't change it. You specify the compaction settings for a column family but you can't compact it. You can set the key_ and row_cache settings for a column family on creation but you have to update it through nodetool. You can describe the ring but not not show it's common stats like are show through nodetool info .. and you can't do it with CQL, only with Thrift except you can get some of it through the system keyspace which may or may not be desirable in the first place, etc.

Claiming different data types makes no sense to me, and I don't see a clear delineation of data access and configuration and administration either. It looks inertial, and I think consolidating and clarifying it would be an improvement.





                
> Expose JMX values via CQL interface
> -----------------------------------
>
>                 Key: CASSANDRA-3527
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3527
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Kelley Reynolds
>            Priority: Minor
>              Labels: cql
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3527) Expose JMX values via CQL interface

Posted by "Brandon Williams (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-3527?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13182821#comment-13182821 ] 

Brandon Williams commented on CASSANDRA-3527:
---------------------------------------------

With CASSANDRA-2805 solved this becomes a little easier.
                
> Expose JMX values via CQL interface
> -----------------------------------
>
>                 Key: CASSANDRA-3527
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3527
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Kelley Reynolds
>            Priority: Minor
>              Labels: cql
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3527) Expose JMX values via CQL interface

Posted by "Jeremiah Jordan (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-3527?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13161810#comment-13161810 ] 

Jeremiah Jordan commented on CASSANDRA-3527:
--------------------------------------------

I think we need to talk about MX4J more to people who want this.  Drop the mx4j-tools.jar in your lib folder, restart, and all stats are a curl request away.  Maybe add more visible links to the mx4j-tools.jar jar?  I'm not sure what the license is on the file, but can we add an "optional libs" folder or something and put it in there if people don't want it by default?  Maybe make a cassandra-mx4j .deb/.rpm which adds it to the classpath?
                
> Expose JMX values via CQL interface
> -----------------------------------
>
>                 Key: CASSANDRA-3527
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3527
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Kelley Reynolds
>            Priority: Minor
>              Labels: cql
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3527) Expose JMX values via CQL interface

Posted by "Jonathan Ellis (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-3527?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13157240#comment-13157240 ] 

Jonathan Ellis commented on CASSANDRA-3527:
-------------------------------------------

Sure, if you added hooks for that.  Right now it assumes that system ops are safely separate off in JMX land.
                
> Expose JMX values via CQL interface
> -----------------------------------
>
>                 Key: CASSANDRA-3527
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3527
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Kelley Reynolds
>            Priority: Minor
>              Labels: cql
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3527) Expose JMX values via CQL interface

Posted by "Kelley Reynolds (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-3527?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13157582#comment-13157582 ] 

Kelley Reynolds commented on CASSANDRA-3527:
--------------------------------------------

As an unskilled Java developer I don't have a proposed implementation. As an application developer/operator, I would find uniform access/management through a CLI to the cluster useful. I haven't heard any arguments against it other than "it might be hard" but frequently that's sufficient to keep something from being done.

I don't think the current approach of separating concerns is an invalid one, it's just that in practice that approach has created a lot of exceptions and when there are a lot of exceptions, it can mean another approach might work better.

Maybe we can get some input from other operators to see if they care. If nobody cares then I'd say that's the end of the discussion.


                
> Expose JMX values via CQL interface
> -----------------------------------
>
>                 Key: CASSANDRA-3527
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3527
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Kelley Reynolds
>            Priority: Minor
>              Labels: cql
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3527) Expose JMX values via CQL interface

Posted by "Chris Burroughs (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-3527?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13161845#comment-13161845 ] 

Chris Burroughs commented on CASSANDRA-3527:
--------------------------------------------

It gives you human readable html and an ugly -- but serviceable -- XML based api.  It's probably not what most people would expect if you said 'rest'.
                
> Expose JMX values via CQL interface
> -----------------------------------
>
>                 Key: CASSANDRA-3527
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3527
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Kelley Reynolds
>            Priority: Minor
>              Labels: cql
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3527) Expose JMX values via CQL interface

Posted by "Kelley Reynolds (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-3527?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13156212#comment-13156212 ] 

Kelley Reynolds commented on CASSANDRA-3527:
--------------------------------------------

JMX requires that one be in a JVM to access them, the protocol can be difficult to deal with, and it would be nice to have uniform access to cassandra management and status information instead of a mix of commands.  As an example, it would be nice to be able to do things like:

select HeapMemoryUsage from <node>
select tpstats from <node>

Snippet from #cassandra:
<nickmbailey> ... the main problem i see with jmx is you have to be in a jvm to use it

<driftx> ... JMX is a bitch to deal with.  Thrift is much less so these days.

<ecapriolo> ... one Thrift call like invokeJmxMethod( String objectname, String methodname, string [] args); getJmxAttribute(String objectname, String attribute);
                
> Expose JMX values via CQL interface
> -----------------------------------
>
>                 Key: CASSANDRA-3527
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3527
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Kelley Reynolds
>            Priority: Minor
>              Labels: cql
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3527) Expose JMX values via CQL interface

Posted by "Kelley Reynolds (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-3527?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13157338#comment-13157338 ] 

Kelley Reynolds commented on CASSANDRA-3527:
--------------------------------------------

It might help to reframe the problem since the ticket proposes a solution instead of framing a problem.

Problem: As an end-user, what I would like to see is a uniform interface for interacting with and managing Cassandra and a CLI was a natural place to put that. Part of the desire for that was to have a lightweight and non-java-required way of querying JMX stats but I think it's a more general desire for uniformity. Taking PostgreSQL as an example, almost all management and data-interactive tasks can be accomplished through the same client connection, and that's nice.

I wouldn't say this would solve a problem that can't be solved some other way, it would just be nice. Adding some SNMP and HTTP and Memcache isn't related to whether or not all tasks can be accomplished with the same protocol which is what I was after.
                
> Expose JMX values via CQL interface
> -----------------------------------
>
>                 Key: CASSANDRA-3527
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3527
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Kelley Reynolds
>            Priority: Minor
>              Labels: cql
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3527) Expose JMX values via CQL interface

Posted by "Eric Evans (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-3527?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13161872#comment-13161872 ] 

Eric Evans commented on CASSANDRA-3527:
---------------------------------------

bq. It gives you human readable html and an ugly – but serviceable – XML based api. It's probably not what most people would expect if you said 'rest'.

I didn't know that, but it makes sense based on their objectives.  A simple rest interface wouldn't be enough to fully exploit JMX.
                
> Expose JMX values via CQL interface
> -----------------------------------
>
>                 Key: CASSANDRA-3527
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3527
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Kelley Reynolds
>            Priority: Minor
>              Labels: cql
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Commented] (CASSANDRA-3527) Expose JMX values via CQL interface

Posted by "Jonathan Ellis (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-3527?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13156267#comment-13156267 ] 

Jonathan Ellis commented on CASSANDRA-3527:
-------------------------------------------

One problem is that you don't necessarily want anyone who can connect to Thrift, to be able to invoke heavyweight ops tasks like scrub or repair.
                
> Expose JMX values via CQL interface
> -----------------------------------
>
>                 Key: CASSANDRA-3527
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3527
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Kelley Reynolds
>            Priority: Minor
>              Labels: cql
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3527) Expose JMX values via CQL interface

Posted by "Kelley Reynolds (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-3527?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13156279#comment-13156279 ] 

Kelley Reynolds commented on CASSANDRA-3527:
--------------------------------------------

Is this any different than letting a postgres user run cluster or vacuum? The decision about who can do what feels like it belongs somewhere else.
                
> Expose JMX values via CQL interface
> -----------------------------------
>
>                 Key: CASSANDRA-3527
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3527
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Kelley Reynolds
>            Priority: Minor
>              Labels: cql
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3527) Expose JMX values via CQL interface

Posted by "Eric Evans (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-3527?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13157320#comment-13157320 ] 

Eric Evans commented on CASSANDRA-3527:
---------------------------------------

This has come up many times before (in the past it was Thrift), and while I recognize the desire people have to access instrumentation without using Java, this seems like a bad idea.  Right now we have an excellent separation of concerns, and the only reason I can think of for suggesting this is because it's the only other hammer at hand.

I've never looked at it closely, but we added hooks for using an HTTP adapter with mx4j specifically to address this issue.  Does anyone know why that hasn't caught on?

It's also supposed to be possible to have the JVM present an SNMP interface.  I haven't tried doing that either, but it seems appealing considering the huge number of tools that already work with SNMP out of the box.

At Acunu, we have a service that acts as a bridge to JMX and presents a simple socket-based API similar to memcache which I could upstream.  Would that solve the problem for people?
                
> Expose JMX values via CQL interface
> -----------------------------------
>
>                 Key: CASSANDRA-3527
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3527
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Kelley Reynolds
>            Priority: Minor
>              Labels: cql
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3527) Expose JMX values via CQL interface

Posted by "Eric Evans (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-3527?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13157370#comment-13157370 ] 

Eric Evans commented on CASSANDRA-3527:
---------------------------------------

The delineation is that one is for manipulation of data (and schema), and the other is for management.  There may or may not be a few inconsistencies there, but that doesn't invalidate the entire approach.

And, it's really not inertial either.  There have been some very specific discussions in the past about where something should go and why, and in the end the outcome was generally consistent with what I've said here.
                
> Expose JMX values via CQL interface
> -----------------------------------
>
>                 Key: CASSANDRA-3527
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3527
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Kelley Reynolds
>            Priority: Minor
>              Labels: cql
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3527) Expose JMX values via CQL interface

Posted by "Eric Evans (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-3527?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13158984#comment-13158984 ] 

Eric Evans commented on CASSANDRA-3527:
---------------------------------------

bq. I think Kelley made a good point that being able to do everything with a single interface is much friendlier than the current state. It will be Yet Another Way, sure, but I think a unified interface will help drive adoption.

See, abuse of the CQL interface notwithstanding, I don't really see it as a feature to have this All-in-one (see my remarks above about separation of concerns).

And, easiest doesn't necessarily equate to Right.  By way of example, a password-less login is way easier than having to remember a password and type it in at login, but you wouldn't forgo authentication entirely just to make things easier.
                
> Expose JMX values via CQL interface
> -----------------------------------
>
>                 Key: CASSANDRA-3527
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3527
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Kelley Reynolds
>            Priority: Minor
>              Labels: cql
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3527) Expose JMX values via CQL interface

Posted by "Eric Evans (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-3527?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13157374#comment-13157374 ] 

Eric Evans commented on CASSANDRA-3527:
---------------------------------------

Some other questions:

Is this supposed to be a complete replacement for JMX?  And if so, how realistic is that without regressions?  Will it support operations?  Will it return all of the attributes, even the complex types?

How will it be implemented?  Are we going to have to edit the grammar each time we add new instrumentation?  If it's not a complete replacement, then are we going to have to update/create the MBean interfaces _and_ update the grammar?

If it's not meant to be a complete replacement, then how will this not contribute to there being even _more_ ways getting at the same data?


                
> Expose JMX values via CQL interface
> -----------------------------------
>
>                 Key: CASSANDRA-3527
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3527
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Kelley Reynolds
>            Priority: Minor
>              Labels: cql
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3527) Expose JMX values via CQL interface

Posted by "Eric Evans (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-3527?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13157344#comment-13157344 ] 

Eric Evans commented on CASSANDRA-3527:
---------------------------------------

bq. I wouldn't say this would solve a problem that can't be solved some other way, it would just be nice. Adding some SNMP and HTTP and Memcache isn't related to whether or not all tasks can be accomplished with the same protocol which is what I was after.

How Postgres does things notwithstanding, I don't see it as a feature to put everything under one interface like this.  It's two very different types of data, that serve very different purposes.
                
> Expose JMX values via CQL interface
> -----------------------------------
>
>                 Key: CASSANDRA-3527
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3527
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Kelley Reynolds
>            Priority: Minor
>              Labels: cql
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3527) Expose JMX values via CQL interface

Posted by "Brandon Williams (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-3527?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13158953#comment-13158953 ] 

Brandon Williams commented on CASSANDRA-3527:
---------------------------------------------

bq. Is this supposed to be a complete replacement for JMX? And if so, how realistic is that without regressions? Will it support operations? Will it return all of the attributes, even the complex types?

I think a *complete* replacement is aiming too high initially (see the last sentence of this paragraph, though.)  I think attributes you'd typically want to read plus the few that nodetool can poke will go a long way toward removing most of the pain.  As far as types, the simple ones jconsole supports is probably most of what we'd need, and we've already gone to some lengths to make things jconsole-callable (accepting hostname strings instead of InetAddresses being one example.) I poked around some mbeans where I thought I'd find an example of a complex type, but the best one I found was handling a long[] for the histograms.

bq. How will it be implemented? Are we going to have to edit the grammar each time we add new instrumentation? If it's not a complete replacement, then are we going to have to update/create the MBean interfaces and update the grammar?

What I had in mind is adding a new verb handler that would ask the (possibly remote) node "give me o.a.c.foo" and the remote node would get/find the corresponding mbean and send the result back over MS.  That way we only have to deal with the mbean interfaces as usual, and grammar would just have a 'some kind of mbean path' parameter that it wouldn't need to do any checking on, and then 'some kind of parameters' that the node could compare to its own signature for 'o.a.c.foo' to know if it was ok.

bq. If it's not meant to be a complete replacement, then how will this not contribute to there being even more ways getting at the same data?

I think Kelley made a good point that being able to do everything with a single interface is much friendlier than the current state.  It will be Yet Another Way, sure, but I think a unified interface will help drive adoption.

bq. I've never looked at it closely, but we added hooks for using an HTTP adapter with mx4j specifically to address this issue. Does anyone know why that hasn't caught on?

Probably because the majority of people don't know it's there, we don't include the jars by default.  I guess we could solve this and then clever client wrappers could add convenience methods to handle the needed HTTP stuff, but then we're moving away from "the cql driver does everything you want" mindset and are back to wrappers.
                
> Expose JMX values via CQL interface
> -----------------------------------
>
>                 Key: CASSANDRA-3527
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3527
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Kelley Reynolds
>            Priority: Minor
>              Labels: cql
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3527) Expose JMX values via CQL interface

Posted by "Eric Evans (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-3527?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13158483#comment-13158483 ] 

Eric Evans commented on CASSANDRA-3527:
---------------------------------------

For The Record: There have been _many_ complaints about that Java requirement that JMX imposes.  I do think we should solve this (hence the questions/proposals above).
                
> Expose JMX values via CQL interface
> -----------------------------------
>
>                 Key: CASSANDRA-3527
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3527
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Kelley Reynolds
>            Priority: Minor
>              Labels: cql
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3527) Expose JMX values via CQL interface

Posted by "Jonathan Ellis (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-3527?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13161819#comment-13161819 ] 

Jonathan Ellis commented on CASSANDRA-3527:
-------------------------------------------

Does MX4J provide a rest api?  I thought it only gave you human-readable html.
                
> Expose JMX values via CQL interface
> -----------------------------------
>
>                 Key: CASSANDRA-3527
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3527
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Kelley Reynolds
>            Priority: Minor
>              Labels: cql
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3527) Expose JMX values via CQL interface

Posted by "Brandon Williams (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-3527?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13157225#comment-13157225 ] 

Brandon Williams commented on CASSANDRA-3527:
---------------------------------------------

bq. One problem is that you don't necessarily want anyone who can connect to Thrift, to be able to invoke heavyweight ops tasks like scrub or repair.

Couldn't you solve this with an IAuthority if you wanted to?
                
> Expose JMX values via CQL interface
> -----------------------------------
>
>                 Key: CASSANDRA-3527
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3527
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Kelley Reynolds
>            Priority: Minor
>              Labels: cql
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira