[ 
https://issues.apache.org/jira/browse/CASSANDRA-990?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Todd Blose updated CASSANDRA-990:
---------------------------------

    Description: 
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 (Config) with the entire config. In 
addition, keyspace and column family YAML entries are deserialized to new 
Keyspace and ColumnFamily 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 5) 
trivial to update the keyspace and column family schemas

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. I included one version with 
comments and one without.

  was:
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 Keyspace 
and ColumnFamily 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 5) 
the config, keyspaces, and column families may be easily loaded as custom Java 
classes; therefore, modifying their schema would be trivial

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. I included one version with 
comments and one without.


> 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, snakeyaml-1.6.jar, 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 (Config) with the entire config. 
> In addition, keyspace and column family YAML entries are deserialized to new 
> Keyspace and ColumnFamily 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 5) trivial to update the keyspace and column family schemas
> 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. I included one version 
> with comments and one without.

-- 
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

        

Reply via email to