[ https://issues.apache.org/jira/browse/CASSANDRA-7622?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15315845#comment-15315845 ]
Robert Stupp commented on CASSANDRA-7622: ----------------------------------------- Don't get me wrong, I really like virtual tables, but I am not a fan of a {{CREATE TABLE}} for metrics - instead, I think it is better to provide predefined, virtual tables for what we have in a "virtual keyspace" like {{system_metrics}} or {{system_management}}. Some administrative operations probably require additional CQL commands (e.g. {{ALTER SYSTEM DRAIN;}}). Also, pushing notifications and alerts via the native protocol would be really nice. If we move metrics from JMX and management to CQL, which could be a legit long-term goal IMO, the native-protocol must *always* be available - at least, there must be some "backdoor" that allows access to metrics+management. A virtual table statement like {{UPDATE system_management.native_protocol SET enable=false}} is the C* equivalent of {{pkill -9 sshd}} - not good. There are valid reasons to disable client access while a node is running. Another way to lock yourself out is having expired certificates (should not occur, but does - i'm sure). Additionally, if we have virtual tables, gathering information from the whole cluster, a DC or just a single node would ease a lot of administrative tasks. E.g. {{SELECT seed_nodes FROM system_metrics.config WHERE dc='DC_eu' AND rack='RAC_b'}} or {{ALTER SYSTEM SET enable_native_protocol = true WHERE dc=...}}. Gathering current repair status of the whole cluster using a single SELECT feels nice. That's probably too much to put into a single ticket. Just wanted to leave my thoughts. > Implement virtual tables > ------------------------ > > Key: CASSANDRA-7622 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7622 > Project: Cassandra > Issue Type: Improvement > Reporter: Tupshin Harper > Assignee: Jeff Jirsa > Fix For: 3.x > > > There are a variety of reasons to want virtual tables, which would be any > table that would be backed by an API, rather than data explicitly managed and > stored as sstables. > One possible use case would be to expose JMX data through CQL as a > resurrection of CASSANDRA-3527. > Another is a more general framework to implement the ability to expose yaml > configuration information. So it would be an alternate approach to > CASSANDRA-7370. > A possible implementation would be in terms of CASSANDRA-7443, but I am not > presupposing. -- This message was sent by Atlassian JIRA (v6.3.4#6332)