cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stu Hood (JIRA)" <j...@apache.org>
Subject [jira] Commented: (CASSANDRA-990) Replace cassandra.xml with cassandra.yaml
Date Fri, 16 Apr 2010 06:41:25 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-990?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12857689#action_12857689
] 

Stu Hood commented on CASSANDRA-990:
------------------------------------

Looks like an interesting approach, thanks!

* We should add the comments that were in cassandra.xml to cassandra.yaml
* The CF/KSMetaData field renames are unnecessary, and sometimes incorrect
* Leave the CF/KSMetaData fields as final, to enforce immutability
* Not all of the fields that were added with config.Config were removed from DatabaseDescriptor
* DatabaseDescriptor still imports org.w3c.dom, org.xml.sax, and javax.xml (which might mean
those dependencies weren't fully removed)
* The patch should remove all cassandra.xml copies
* The dependency on snakeyaml needs to be documented in lib/licenses/

I'm a little bit frightened about the migration path for existing users: to make this smooth,
I think we might need to provide a way to convert existing xml config files to yaml, probably
with a separate migration tool (in a separate ticket?).

> Replace cassandra.xml with cassandra.yaml
> -----------------------------------------
>
>                 Key: CASSANDRA-990
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-990
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 0.7
>            Reporter: Todd Blose
>            Assignee: Todd Blose
>         Attachments: CASSANDRA-990.patch, cassandra.yaml, cassandra_yaml_w_comments.txt,
test_conf_cassandra.yaml.txt
>
>
> This is an entire rewrite of the XML storage configuration to YAML, inspired by the discussion
in CASSANDRA-671.
> DatabaseDescriptor now parses conf/cassandra.yaml. It behaves the same way as before,
but instead of dealing with an XML parse tree, a yaml parser is now created that associates
a custom Java class with the entire config (Config). In addition, keyspace and column family
YAML entries are deserialized to KSMetaData and CFMetaData instances, respectively.
> This was implemented using SnakeYaml (http://code.google.com/p/snakeyaml/).
> There are numerous benefits to this new approach: 1) a complete shifting away from an
outdated, verbose data format 2) a cleaner, less bulky, human-readable config 3) significantly
less code 4) simplicity of obtaining default values
> Attached along with the patch are the replacement configurations for conf/cassandra.xml
and test/conf/cassandra.xml, to emphasize the benefits of the transition, should the community
approve of it.

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

        

Mime
View raw message