[ 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