You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jon Hermes (JIRA)" <ji...@apache.org> on 2010/10/13 23:38:33 UTC

[jira] Issue Comment Edited: (CASSANDRA-1007) Make memtable flush thresholds per-CF instead of global

    [ https://issues.apache.org/jira/browse/CASSANDRA-1007?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12920775#action_12920775 ] 

Jon Hermes edited comment on CASSANDRA-1007 at 10/13/10 5:37 PM:
-----------------------------------------------------------------

Status:
M       conf/cassandra.yaml
- Moves memtable settings into cf by demonstration.

M       src/java/org/apache/cassandra/db/Table.java
M       src/java/org/apache/cassandra/db/ColumnFamilyStore.java
M       src/java/org/apache/cassandra/db/Memtable.java
- All the places where we previously asked for the global flushtime/size/ops now ask for it on a per-CF basis.

M       src/java/org/apache/cassandra/config/CFMetaData.java
- The bulk of the changes. This adds the new field, handles all its constructors, into and out of avro/thrift, validation, and defaulting.

M       src/java/org/apache/cassandra/config/DatabaseDescriptor.java
M       src/java/org/apache/cassandra/config/Config.java
M       src/java/org/apache/cassandra/config/RawColumnFamily.java
M       src/java/org/apache/cassandra/config/Converter.java
- Changed the way we read in the YAML, and updated the converter to handle 0.6 -> 0.7 transitions.

M       src/java/org/apache/cassandra/thrift/CassandraServer.java
M       src/java/org/apache/cassandra/avro/CassandraServer.java
- Updated add/update CF to add new fields and validate them appropriately.

M       interface/cassandra.genavro
M       interface/thrift/gen-java/org/apache/cassandra/thrift/Constants.java
M       interface/thrift/gen-java/org/apache/cassandra/thrift/CfDef.java
M       interface/cassandra.thrift
- Adds three new fields to the CfDef, and adds the generated bindings.

      was (Author: jhermes):
    Status:
M       conf/cassandra.yaml
Moves memtable settings into cf by demonstration.

M       src/java/org/apache/cassandra/db/Table.java
M       src/java/org/apache/cassandra/db/ColumnFamilyStore.java
M       src/java/org/apache/cassandra/db/Memtable.java
All the places where we previously asked for the global flushtime/size/ops now ask for it on a per-CF basis.

M       src/java/org/apache/cassandra/config/CFMetaData.java
The bulk of the changes. This adds the new field, handles all its constructors, into and out of avro/thrift, validation, and defaulting.

M       src/java/org/apache/cassandra/config/DatabaseDescriptor.java
M       src/java/org/apache/cassandra/config/Config.java
M       src/java/org/apache/cassandra/config/RawColumnFamily.java
M       src/java/org/apache/cassandra/config/Converter.java
Changed the way we read in the YAML, and updated the converter to handle 0.6 -> 0.7 transitions.

M       src/java/org/apache/cassandra/thrift/CassandraServer.java
M       src/java/org/apache/cassandra/avro/CassandraServer.java
Updated add/update CF to add new fields and validate them appropriately.

M       interface/cassandra.genavro
M       interface/thrift/gen-java/org/apache/cassandra/thrift/Constants.java
M       interface/thrift/gen-java/org/apache/cassandra/thrift/CfDef.java
M       interface/cassandra.thrift
Adds three new fields to the CfDef, and adds the generated bindings.
  
> Make memtable flush thresholds per-CF instead of global
> -------------------------------------------------------
>
>                 Key: CASSANDRA-1007
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1007
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Jonathan Ellis
>            Assignee: Jon Hermes
>            Priority: Minor
>             Fix For: 0.7.0
>
>         Attachments: 1007.txt
>
>
> This is particularly useful in the scenario where you have a few CFs with a high volume of overwrite operations; increasing the memtable size/op count means that you can do the overwrite in memory before it ever hits disk.  Once on disk compaction is much more work for the system.
> But, you don't want to give _all_ your CFs that high of a threshold because the memory is better used elsewhere, and because it makes commitlog replay unnecessarily painful.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.