org.apache.cassandra.config
Class CFMetaData

java.lang.Object
  extended by org.apache.cassandra.config.CFMetaData

public final class CFMetaData
extends java.lang.Object


Nested Class Summary
static class CFMetaData.Caching
           
 
Field Summary
 java.lang.Integer cfId
           
 java.lang.String cfName
           
 ColumnFamilyType cfType
           
 java.lang.Class<? extends AbstractCompactionStrategy> compactionStrategyClass
           
 java.util.Map<java.lang.String,java.lang.String> compactionStrategyOptions
           
 AbstractType<?> comparator
           
static java.lang.String DEFAULT_COMPACTION_STRATEGY_CLASS
           
static double DEFAULT_DCLOCAL_READ_REPAIR_CHANCE
           
static int DEFAULT_GC_GRACE_SECONDS
           
static java.nio.ByteBuffer DEFAULT_KEY_NAME
           
static int DEFAULT_MAX_COMPACTION_THRESHOLD
           
static double DEFAULT_MERGE_SHARDS_CHANCE
           
static int DEFAULT_MIN_COMPACTION_THRESHOLD
           
static double DEFAULT_READ_REPAIR_CHANCE
           
static boolean DEFAULT_REPLICATE_ON_WRITE
           
static CFMetaData HintsCf
           
static CFMetaData IndexCf
           
 java.lang.String ksName
           
static CFMetaData MigrationsCf
          Deprecated. 
static CFMetaData NodeIdCf
           
static CFMetaData SchemaCf
          Deprecated. 
static CFMetaData SchemaColumnFamiliesCf
           
static CFMetaData SchemaColumnsCf
           
static CFMetaData SchemaKeyspacesCf
           
static CFMetaData StatusCf
           
 AbstractType<?> subcolumnComparator
           
static CFMetaData VersionCf
           
 
Constructor Summary
CFMetaData(java.lang.String keyspace, java.lang.String name, ColumnFamilyType type, AbstractType<?> comp, AbstractType<?> subcc)
           
 
Method Summary
static void addDefaultIndexNames(CfDef cf_def)
          Convert a null index_name to appropriate default name according to column status
 void apply(CfDef cf_def)
          Updates CFMetaData in-place to match cf_def *Note*: This method left public only for DefsTest, don't use directly!
static void applyImplicitDefaults(CfDef cf_def)
          applies implicit defaults to cf definition.
 CFMetaData bloomFilterFpChance(java.lang.Double prop)
           
 CFMetaData caching(CFMetaData.Caching prop)
           
 CFMetaData columnAliases(java.util.List<java.nio.ByteBuffer> prop)
           
 CFMetaData columnMetadata(java.util.Map<java.nio.ByteBuffer,ColumnDefinition> prop)
           
 CFMetaData comment(java.lang.String prop)
           
 CFMetaData compactionStrategyClass(java.lang.Class<? extends AbstractCompactionStrategy> prop)
           
 CFMetaData compactionStrategyOptions(java.util.Map<java.lang.String,java.lang.String> prop)
           
 CompressionParameters compressionParameters()
           
 CFMetaData compressionParameters(CompressionParameters prop)
           
static java.lang.Class<? extends AbstractCompactionStrategy> createCompactionStrategy(java.lang.String className)
           
 AbstractCompactionStrategy createCompactionStrategyInstance(ColumnFamilyStore cfs)
           
 CFMetaData dclocalReadRepairChance(double prop)
           
 CFMetaData defaultValidator(AbstractType<?> prop)
           
 RowMutation diff(CfDef newState, long modificationTimestamp)
          Calculate the difference between current metadata and given and serialize it as schema RowMutation
 RowMutation dropFromSchema(long timestamp)
          Remove all CF attributes from schema
 boolean equals(java.lang.Object obj)
           
static CFMetaData fromAvro(org.apache.cassandra.db.migration.avro.CfDef cf)
          Deprecated. 
static CfDef fromSchema(ColumnFamily serializedCfDef)
          Deserialize CF metadata from low-level representation
static CFMetaData fromThrift(CfDef cf_def)
           
 CFMetaData gcGraceSeconds(int prop)
           
 java.lang.Double getBloomFilterFpChance()
           
 CFMetaData.Caching getCaching()
           
 CFDefinition getCfDef()
           
 java.util.Map<java.nio.ByteBuffer,ColumnDefinition> getColumn_metadata()
           
 java.util.List<java.nio.ByteBuffer> getColumnAliases()
           
 ColumnDefinition getColumnDefinition(java.nio.ByteBuffer name)
           
static AbstractType<?> getColumnDefinitionComparator(CfDef cfDef)
           
 ColumnDefinition getColumnDefinitionForIndex(java.lang.String indexName)
           
 IColumnSerializer getColumnSerializer()
           
 java.lang.String getComment()
           
 AbstractType<?> getComparatorFor(java.nio.ByteBuffer superColumnName)
           
 double getDcLocalReadRepair()
           
static java.lang.String getDefaultIndexName(java.lang.String cfName, AbstractType<?> comparator, java.nio.ByteBuffer columnName)
           
 AbstractType<?> getDefaultValidator()
           
 int getGcGraceSeconds()
           
 java.nio.ByteBuffer getKeyAlias()
           
 java.nio.ByteBuffer getKeyName()
           
 AbstractType<?> getKeyValidator()
           
 java.lang.Integer getMaxCompactionThreshold()
           
 double getMergeShardsChance()
           
 java.lang.Integer getMinCompactionThreshold()
           
 double getReadRepairChance()
           
 boolean getReplicateOnWrite()
           
 java.nio.ByteBuffer getValueAlias()
           
 AbstractType<?> getValueValidator(java.nio.ByteBuffer column)
           
 AbstractType<?> getValueValidator(ColumnDefinition columnDefinition)
           
 int hashCode()
           
 java.lang.String indexColumnFamilyName(ColumnDefinition info)
          generate a column family name for an index corresponding to the given column.
 CFMetaData keyAlias(java.nio.ByteBuffer prop)
           
 CFMetaData keyValidator(AbstractType<?> prop)
           
 CFMetaData maxCompactionThreshold(int prop)
           
 CFMetaData mergeShardsChance(double prop)
           
 CFMetaData minCompactionThreshold(int prop)
           
static CFMetaData newIndexMetadata(CFMetaData parent, ColumnDefinition info, AbstractType<?> columnComparator)
           
 CFMetaData readRepairChance(double prop)
           
 void reload()
           
 CFMetaData reloadSecondaryIndexMetadata(CFMetaData parent)
           
static CFMetaData rename(CFMetaData cfm, java.lang.String newName)
           
static CFMetaData renameTable(CFMetaData cfm, java.lang.String ksName)
           
 CFMetaData replicateOnWrite(boolean prop)
           
 RowMutation toSchema(long timestamp)
          Convert current metadata into schema mutation
static void toSchema(RowMutation mutation, CfDef cfDef, long timestamp)
          Convert given Thrift-serialized metadata into schema mutation
 java.lang.String toString()
           
 CfDef toThrift()
           
 CFMetaData validate()
           
static void validateMinMaxCompactionThresholds(CfDef cf_def)
           
 CFMetaData valueAlias(java.nio.ByteBuffer prop)
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

DEFAULT_READ_REPAIR_CHANCE

public static final double DEFAULT_READ_REPAIR_CHANCE
See Also:
Constant Field Values

DEFAULT_DCLOCAL_READ_REPAIR_CHANCE

public static final double DEFAULT_DCLOCAL_READ_REPAIR_CHANCE
See Also:
Constant Field Values

DEFAULT_REPLICATE_ON_WRITE

public static final boolean DEFAULT_REPLICATE_ON_WRITE
See Also:
Constant Field Values

DEFAULT_GC_GRACE_SECONDS

public static final int DEFAULT_GC_GRACE_SECONDS
See Also:
Constant Field Values

DEFAULT_MIN_COMPACTION_THRESHOLD

public static final int DEFAULT_MIN_COMPACTION_THRESHOLD
See Also:
Constant Field Values

DEFAULT_MAX_COMPACTION_THRESHOLD

public static final int DEFAULT_MAX_COMPACTION_THRESHOLD
See Also:
Constant Field Values

DEFAULT_MERGE_SHARDS_CHANCE

public static final double DEFAULT_MERGE_SHARDS_CHANCE
See Also:
Constant Field Values

DEFAULT_COMPACTION_STRATEGY_CLASS

public static final java.lang.String DEFAULT_COMPACTION_STRATEGY_CLASS
See Also:
Constant Field Values

DEFAULT_KEY_NAME

public static final java.nio.ByteBuffer DEFAULT_KEY_NAME

StatusCf

public static final CFMetaData StatusCf

HintsCf

public static final CFMetaData HintsCf

MigrationsCf

@Deprecated
public static final CFMetaData MigrationsCf
Deprecated. 

SchemaCf

@Deprecated
public static final CFMetaData SchemaCf
Deprecated. 

IndexCf

public static final CFMetaData IndexCf

NodeIdCf

public static final CFMetaData NodeIdCf

VersionCf

public static final CFMetaData VersionCf

SchemaKeyspacesCf

public static final CFMetaData SchemaKeyspacesCf

SchemaColumnFamiliesCf

public static final CFMetaData SchemaColumnFamiliesCf

SchemaColumnsCf

public static final CFMetaData SchemaColumnsCf

cfId

public final java.lang.Integer cfId

ksName

public final java.lang.String ksName

cfName

public final java.lang.String cfName

cfType

public final ColumnFamilyType cfType

comparator

public AbstractType<?> comparator

subcolumnComparator

public AbstractType<?> subcolumnComparator

compactionStrategyClass

public java.lang.Class<? extends AbstractCompactionStrategy> compactionStrategyClass

compactionStrategyOptions

public java.util.Map<java.lang.String,java.lang.String> compactionStrategyOptions
Constructor Detail

CFMetaData

public CFMetaData(java.lang.String keyspace,
                  java.lang.String name,
                  ColumnFamilyType type,
                  AbstractType<?> comp,
                  AbstractType<?> subcc)
Method Detail

comment

public CFMetaData comment(java.lang.String prop)

readRepairChance

public CFMetaData readRepairChance(double prop)

dclocalReadRepairChance

public CFMetaData dclocalReadRepairChance(double prop)

replicateOnWrite

public CFMetaData replicateOnWrite(boolean prop)

gcGraceSeconds

public CFMetaData gcGraceSeconds(int prop)

defaultValidator

public CFMetaData defaultValidator(AbstractType<?> prop)

keyValidator

public CFMetaData keyValidator(AbstractType<?> prop)

minCompactionThreshold

public CFMetaData minCompactionThreshold(int prop)

maxCompactionThreshold

public CFMetaData maxCompactionThreshold(int prop)

mergeShardsChance

public CFMetaData mergeShardsChance(double prop)

keyAlias

public CFMetaData keyAlias(java.nio.ByteBuffer prop)

columnAliases

public CFMetaData columnAliases(java.util.List<java.nio.ByteBuffer> prop)

valueAlias

public CFMetaData valueAlias(java.nio.ByteBuffer prop)

columnMetadata

public CFMetaData columnMetadata(java.util.Map<java.nio.ByteBuffer,ColumnDefinition> prop)

compactionStrategyClass

public CFMetaData compactionStrategyClass(java.lang.Class<? extends AbstractCompactionStrategy> prop)

compactionStrategyOptions

public CFMetaData compactionStrategyOptions(java.util.Map<java.lang.String,java.lang.String> prop)

compressionParameters

public CFMetaData compressionParameters(CompressionParameters prop)

bloomFilterFpChance

public CFMetaData bloomFilterFpChance(java.lang.Double prop)

caching

public CFMetaData caching(CFMetaData.Caching prop)

newIndexMetadata

public static CFMetaData newIndexMetadata(CFMetaData parent,
                                          ColumnDefinition info,
                                          AbstractType<?> columnComparator)

reloadSecondaryIndexMetadata

public CFMetaData reloadSecondaryIndexMetadata(CFMetaData parent)

rename

public static CFMetaData rename(CFMetaData cfm,
                                java.lang.String newName)

renameTable

public static CFMetaData renameTable(CFMetaData cfm,
                                     java.lang.String ksName)

indexColumnFamilyName

public java.lang.String indexColumnFamilyName(ColumnDefinition info)
generate a column family name for an index corresponding to the given column. This is NOT the same as the index's name! This is only used in sstable filenames and is not exposed to users.

Parameters:
info - A definition of the column with index
Returns:
name of the index ColumnFamily

fromAvro

@Deprecated
public static CFMetaData fromAvro(org.apache.cassandra.db.migration.avro.CfDef cf)
Deprecated. 


getComment

public java.lang.String getComment()

getReadRepairChance

public double getReadRepairChance()

getDcLocalReadRepair

public double getDcLocalReadRepair()

getMergeShardsChance

public double getMergeShardsChance()

getReplicateOnWrite

public boolean getReplicateOnWrite()

getGcGraceSeconds

public int getGcGraceSeconds()

getDefaultValidator

public AbstractType<?> getDefaultValidator()

getKeyValidator

public AbstractType<?> getKeyValidator()

getMinCompactionThreshold

public java.lang.Integer getMinCompactionThreshold()

getMaxCompactionThreshold

public java.lang.Integer getMaxCompactionThreshold()

getKeyName

public java.nio.ByteBuffer getKeyName()

getKeyAlias

public java.nio.ByteBuffer getKeyAlias()

getColumnAliases

public java.util.List<java.nio.ByteBuffer> getColumnAliases()

getValueAlias

public java.nio.ByteBuffer getValueAlias()

compressionParameters

public CompressionParameters compressionParameters()

getColumn_metadata

public java.util.Map<java.nio.ByteBuffer,ColumnDefinition> getColumn_metadata()

getComparatorFor

public AbstractType<?> getComparatorFor(java.nio.ByteBuffer superColumnName)

getBloomFilterFpChance

public java.lang.Double getBloomFilterFpChance()

getCaching

public CFMetaData.Caching getCaching()

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

getValueValidator

public AbstractType<?> getValueValidator(java.nio.ByteBuffer column)

getValueValidator

public AbstractType<?> getValueValidator(ColumnDefinition columnDefinition)

applyImplicitDefaults

public static void applyImplicitDefaults(CfDef cf_def)
applies implicit defaults to cf definition. useful in updates


fromThrift

public static CFMetaData fromThrift(CfDef cf_def)
                             throws InvalidRequestException,
                                    ConfigurationException
Throws:
InvalidRequestException
ConfigurationException

reload

public void reload()
            throws java.io.IOException
Throws:
java.io.IOException

apply

public void apply(CfDef cf_def)
           throws ConfigurationException
Updates CFMetaData in-place to match cf_def *Note*: This method left public only for DefsTest, don't use directly!

Throws:
ConfigurationException - if ks/cf names or cf ids didn't match

createCompactionStrategy

public static java.lang.Class<? extends AbstractCompactionStrategy> createCompactionStrategy(java.lang.String className)
                                                                                      throws ConfigurationException
Throws:
ConfigurationException

createCompactionStrategyInstance

public AbstractCompactionStrategy createCompactionStrategyInstance(ColumnFamilyStore cfs)

toThrift

public CfDef toThrift()

validateMinMaxCompactionThresholds

public static void validateMinMaxCompactionThresholds(CfDef cf_def)
                                               throws ConfigurationException
Throws:
ConfigurationException

getColumnDefinition

public ColumnDefinition getColumnDefinition(java.nio.ByteBuffer name)

getColumnDefinitionForIndex

public ColumnDefinition getColumnDefinitionForIndex(java.lang.String indexName)

addDefaultIndexNames

public static void addDefaultIndexNames(CfDef cf_def)
                                 throws InvalidRequestException
Convert a null index_name to appropriate default name according to column status

Parameters:
cf_def - Thrift ColumnFamily Definition
Throws:
InvalidRequestException

getDefaultIndexName

public static java.lang.String getDefaultIndexName(java.lang.String cfName,
                                                   AbstractType<?> comparator,
                                                   java.nio.ByteBuffer columnName)

getColumnSerializer

public IColumnSerializer getColumnSerializer()

validate

public CFMetaData validate()
                    throws ConfigurationException
Throws:
ConfigurationException

diff

public RowMutation diff(CfDef newState,
                        long modificationTimestamp)
                 throws ConfigurationException
Calculate the difference between current metadata and given and serialize it as schema RowMutation

Parameters:
newState - The new metadata (for the same CF)
modificationTimestamp - Timestamp to use for mutation
Returns:
Difference between attributes in form of schema mutation
Throws:
ConfigurationException - if any of the attributes didn't pass validation

dropFromSchema

public RowMutation dropFromSchema(long timestamp)
Remove all CF attributes from schema

Parameters:
timestamp - Timestamp to use
Returns:
RowMutation to use to completely remove cf from schema

toSchema

public RowMutation toSchema(long timestamp)
                     throws ConfigurationException
Convert current metadata into schema mutation

Parameters:
timestamp - Timestamp to use
Returns:
Low-level representation of the CF
Throws:
ConfigurationException - if any of the attributes didn't pass validation

toSchema

public static void toSchema(RowMutation mutation,
                            CfDef cfDef,
                            long timestamp)
                     throws ConfigurationException
Convert given Thrift-serialized metadata into schema mutation

Parameters:
mutation - The mutation to include ColumnFamily attributes into (can contain keyspace attributes already)
cfDef - Thrift-serialized metadata to use as source for schema mutation
timestamp - Timestamp to use
Throws:
ConfigurationException - if any of the attributes didn't pass validation

getColumnDefinitionComparator

public static AbstractType<?> getColumnDefinitionComparator(CfDef cfDef)
                                                     throws ConfigurationException
Throws:
ConfigurationException

fromSchema

public static CfDef fromSchema(ColumnFamily serializedCfDef)
                        throws java.io.IOException
Deserialize CF metadata from low-level representation

Parameters:
serializedCfDef - The data to use for deserialization
Returns:
Thrift-based metadata deserialized from schema
Throws:
java.io.IOException - on any I/O related error

getCfDef

public CFDefinition getCfDef()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object


Copyright © 2012 The Apache Software Foundation