[ https://issues.apache.org/jira/browse/CASSANDRA-1527?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jon Hermes updated CASSANDRA-1527: ---------------------------------- Attachment: 1527.txt Can't deal with the constructor throwing an exception, it's just too ugly. Current patch: 1) Adding validation to readTablesFromYaml()/loadSchemas() is pretty, and catches the erroneous config. This is necessarily different than the same validation for add/update API calls, as this is parsed and deflated immediately. 2) Explode on invalid JMX poking. To counter this, made disableAutoCompaction() pokeable (previously internal). This should help avoid the case where one goes to disable via JMX, sets max = 0 < min, and kills the node. 3) Leave inflate alone. If we deflate it incorrectly, then 1) was wrong. 4) CFMetaData has a validateMinMaxCTs() for both avro and thrift. When updating a CF, the method is called in CFMetaData.apply(). When adding a CF, the method is called in CassandraServer.convertToCFMetaData(). (This is duplicated based on protocol because there is no interface for "a CfDef" to deal with both avro and thrift at the same time, much in same way all the other methods in CFMetaData are duplicated.) 5) Check that apply validates correctly in DefsTest. > ensure compaction thresholds are sane > ------------------------------------- > > Key: CASSANDRA-1527 > URL: https://issues.apache.org/jira/browse/CASSANDRA-1527 > Project: Cassandra > Issue Type: Bug > Components: API > Affects Versions: 0.7 beta 2 > Reporter: Jonathan Ellis > Assignee: Jon Hermes > Priority: Minor > Fix For: 0.7.0 > > Attachments: 1527.txt > > > make sure min <= max and neither is negative. > also make sure that min=max=0 works (this is "no compaction") -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.