cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jon Hermes (JIRA)" <>
Subject [jira] Commented: (CASSANDRA-1527) ensure compaction thresholds are sane
Date Wed, 22 Sep 2010 22:35:33 GMT


Jon Hermes commented on CASSANDRA-1527:

Because there are now too many ways to invalidate a metadata, I'm going to enumerate them.

1) Creation:
- First and foremost, catching these boundaries on the constructor fixes the case where the
config is invalid. The config is read and DD.readTablesFromYaml() creates a CFMD for each
- This also catches 'schematool import', which hits SS.loadSchemasFromYaml() which hits DD.readTablesFromYaml()
in the same way.
- This also catches creation of an avro CfDef and loading it (generally, this is because we
serialized it incorrectly). Calling CFMD.inflate(avro cfdef) will hit the constructor as well.

2) Modification:
- Throwing a runtime exception on the JMX CFS.setMin/MaxCompactionThreshold() methods will
suffice to stop this invalidation point. This could be done a bit more kindly.
- Catching these boundaries on CFMD.apply(avro/thrift def) limits the case where someone makes
a def and then pushes it in.

> ensure compaction thresholds are sane
> -------------------------------------
>                 Key: CASSANDRA-1527
>                 URL:
>             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
> 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.

View raw message