Dear Wiki user, You have subscribed to a wiki page or wiki category on "Cassandra Wiki" for change notification.
The "ConfigurationNotes" page has been changed by JonHermes. http://wiki.apache.org/cassandra/ConfigurationNotes?action=diff&rev1=4&rev2=5 -------------------------------------------------- - ==Basics== + == Basics == Per-node options are loaded from yaml and held in !DatabaseDescriptor. @@ -8, +8 @@ Configuration can be changed at runtime without a restart (excluding the ones that change on-disk format (which cannot be changed without clearing the cluster) and ones that change routing). For per-node options, poke !StorageService via JMX (which in turn pokes !DatabaseDescriptor). For per-KS options, poke the appropriate !Table. For per-CF and per-Column options, poke the appropriate !ColumnFamilyStore. These ephemeral changes are stronger than migrations (they stay set regardless of new config coming in), but do not persist between reboots. - ==How to add a new CF option post-1906:== + == How to add a new CF option post-1906 == - * update cassandra.thrift and src/avro/internodo.genavro to add the new option + * update cassandra.thrift and src/avro/internodo.genavro to add the new option - * ant gen-thrift-java, ant avro-generate + * ant gen-thrift-java, ant avro-generate - * set a static final T DEFAULT_ for it if there should be one + * set a static final T DEFAULT_ for it if there should be one - * set the default in init() + * set the default in init() - * define CFMD foo(T prop) { foo = prop; return this } for the builder + * define CFMD foo(T prop) { foo = prop; return this } for the builder - * define T getFoo() {return foo;} since all optional params are private + * define T getFoo() {return foo;} since all optional params are private - * update deflate() and inflate() to handle the new option ->!CfDef and !CfDef-> + * update deflate() and inflate() to handle the new option ->!CfDef and !CfDef-> - * update equals(), hashcode(), and tostring() to build with the new prop + * update equals(), hashcode(), and tostring() to build with the new prop - * update applyImplicitDefaults() + * update applyImplicitDefaults() - * update convertTo{Thrift/Avro}() + * update convertTo{Thrift/Avro}() - * update apply()... this is the important method. + * update apply()... this is the important method. Done. Then, whenever you need the option in code, use DD.getCFMD(ksname,cfname).getFoo();
