keyspaceName = columnFamilyDefinition.getKeyspaceName(); name = columnFamilyDefinition.getName(); columnType = columnFamilyDefinition.getColumnType(); comparatorType = columnFamilyDefinition.getComparatorType(); subComparatorType = columnFamilyDefinition.getSubComparatorType(); comparatorTypeAlias = columnFamilyDefinition.getComparatorTypeAlias(); subComparatorTypeAlias = columnFamilyDefinition.getSubComparatorTypeAlias(); comment = columnFamilyDefinition.getComment(); rowCacheSize = columnFamilyDefinition.getRowCacheSize(); rowCacheSavePeriodInSeconds = columnFamilyDefinition.getRowCacheSavePeriodInSeconds(); keyCacheSize = columnFamilyDefinition.getKeyCacheSize(); keyCacheSavePeriodInSeconds = columnFamilyDefinition.getKeyCacheSavePeriodInSeconds(); readRepairChance = columnFamilyDefinition.getReadRepairChance(); columnDefinitions = columnFamilyDefinition.getColumnMetadata() != null ? new ArrayList<ColumnDefinition>(columnFamilyDefinition.getColumnMetadata()) : new ArrayList<ColumnDefinition>(); gcGraceSeconds = columnFamilyDefinition.getGcGraceSeconds(); defaultValidationClass = columnFamilyDefinition.getDefaultValidationClass(); keyValidationClass = columnFamilyDefinition.getKeyValidationClass(); id = columnFamilyDefinition.getId(); minCompactionThreshold = columnFamilyDefinition.getMinCompactionThreshold(); maxCompactionThreshold = columnFamilyDefinition.getMaxCompactionThreshold(); memtableOperationsInMillions = columnFamilyDefinition.getMemtableOperationsInMillions(); memtableThroughputInMb = columnFamilyDefinition.getMemtableThroughputInMb(); memtableFlushAfterMins = columnFamilyDefinition.getMemtableFlushAfterMins(); replicateOnWrite = columnFamilyDefinition.isReplicateOnWrite(); compactionStrategy = columnFamilyDefinition.getCompactionStrategy(); compactionStrategyOptions = columnFamilyDefinition.getCompactionStrategyOptions(); compressionOptions = columnFamilyDefinition.getCompressionOptions();
public static List<ColumnFamilyDefinition> getCfDefs( Class<? extends CFEnum> cfEnum, List<ColumnFamilyDefinition> cf_defs, String keyspace ) { if ( cf_defs == null ) { cf_defs = new ArrayList<ColumnFamilyDefinition>(); } CFEnum[] values = null; try { values = ( CFEnum[] ) invokeStaticMethod( cfEnum, "values", null); } catch ( Exception e ) { logger.error( "Couldn't get CFEnum values", e ); } if ( values == null ) { return null; } for ( CFEnum cf : values ) { if ( !cf.create() ) { continue; } String defaultValidationClass = cf.getValidator(); List<ColumnDefinition> metadata = cf.getMetadata(); ColumnFamilyDefinition cf_def = HFactory.createColumnFamilyDefinition( keyspace, cf.getColumnFamily(), ComparatorType.getByClassName( cf.getComparator() ), metadata ); if ( defaultValidationClass != null ) { cf_def.setDefaultValidationClass( defaultValidationClass ); } cf_defs.add( cf_def ); } return cf_defs; }
private ColumnFamilyDefinition createColumnFamilyDefinition() { ColumnFamilyDefinition cfDef = HFactory.createColumnFamilyDefinition(keyspace.getKeyspaceName(), lockManagerConfigurator.getLockManagerCF(), ComparatorType.UTF8TYPE); cfDef.setKeyValidationClass(ComparatorType.UTF8TYPE.getClassName()); cfDef.setRowCacheSize(lockManagerConfigurator.isRowsCacheEnabled() ? 10000 : 0); cfDef.setGcGraceSeconds(Ints.saturatedCast(TimeUnit.MILLISECONDS.toSeconds(lockManagerConfigurator.getLocksTTLInMillis()))); return cfDef; }
/** * Lazy creates a column family in the keyspace. If it doesn't exist, it will be created, then the call will sleep * until all nodes have acknowledged the schema change */ public void createColumnFamily( String keyspace, ColumnFamilyDefinition cfDef ) { if ( !keySpaceExists( keyspace ) ) { createKeySpace( keyspace ); } //add the cf if ( !cfExists( keyspace, cfDef.getName() ) ) { //default read repair chance to 0.1 cfDef.setReadRepairChance( 0.1d ); cfDef.setCompactionStrategy( "LeveledCompactionStrategy" ); cfDef.setCompactionStrategyOptions( new MapUtils.HashMapBuilder().map("sstable_size_in_mb", "512" ) ); cluster.addColumnFamily( cfDef, true ); logger.info( "Created column family {} in keyspace {}", cfDef.getName(), keyspace ); } }
/** * Creates POS? column family used for date range queries. * * @param cfName the column family name. * @return the POS? column family definition. */ protected ColumnFamilyDefinition createCF_RDT_PO_S(final String cfName) { final ColumnFamilyDefinition cfdef = HFactory.createColumnFamilyDefinition(_dataAccessLayerFactory.getKeyspaceName(), cfName, ComparatorType.COMPOSITETYPE); cfdef.setColumnType(ColumnType.STANDARD); cfdef.setKeyValidationClass(ComparatorType.BYTESTYPE.getClassName()); cfdef.setDefaultValidationClass(ComparatorType.BYTESTYPE.getClassName()); cfdef.setComparatorTypeAlias("(LongType, BytesType)"); cfdef.setCompactionStrategy("LeveledCompactionStrategy"); cfdef.setCompressionOptions(_compressionOptions); return new ThriftCfDef(cfdef); }
/** Return true if the column family exists */ public boolean cfExists( String keyspace, String cfName ) { KeyspaceDefinition ksDef = cluster.describeKeyspace( keyspace ); if ( ksDef == null ) { return false; } for ( ColumnFamilyDefinition cf : ksDef.getCfDefs() ) { if ( cfName.equals( cf.getName() ) ) { return true; } } return false; }
? ComparatorType.COMPOSITETYPE : ComparatorType.BYTESTYPE); cfdef.setKeyspaceName(_dataAccessLayerFactory.getKeyspaceName()); cfdef.setColumnType(ColumnType.STANDARD); cfdef.setCompactionStrategy("LeveledCompactionStrategy"); cfdef.setComparatorTypeAlias("(BytesType, BytesType, BytesType)"); cfdef.addColumnDefinition(createCDef(col, valueValidationClass.getClassName(), indexColumnFamilyName)); cfdef.setKeyValidationClass(keyComp.getClassName()); cfdef.setDefaultValidationClass(valueValidationClass.getClassName()); cfdef.setCompressionOptions(_compressionOptions);
@Override public void createRequiredSchemaEntities() throws DataAccessLayerException { final String keyspaceName = _keyspace.getKeyspaceName(); KeyspaceDefinition ksdef = _factory.getCluster().describeKeyspace(keyspaceName); if (!hasColumnFamily(ksdef, _cf_name)) { ColumnFamilyDefinition cfDef = HFactory.createColumnFamilyDefinition(keyspaceName, _cf_name); cfDef.setKeyValidationClass(ComparatorType.UTF8TYPE.getClassName()); cfDef.setComparatorType(ComparatorType.UTF8TYPE); cfDef.setCompactionStrategy("LeveledCompactionStrategy"); cfDef.setDefaultValidationClass(ComparatorType.COUNTERTYPE.getClassName()); cfDef.setColumnType(ColumnType.STANDARD); _factory.getCluster().addColumnFamily(cfDef, true); } setDefaultValue(-1L); } }
System.out.println(cfdef.getName()); if (cfdef.getName().equals(cfname)) { System.out.println("Comment: " + cfdef.getComment()); System.out.println("Key: " + cfdef.getKeyValidationClass()); System.out.println("Comparator: " + cfdef.getComparatorType().getTypeName()); System.out.println("Default Validation:" + cfdef.getDefaultValidationClass()); System.out.println("Column MetaData:"); for (ColumnDefinition cdef: cfdef.getColumnMetadata()) { System.out.println(" Column Name: " + Charset.defaultCharset().decode(cdef.getName()).toString()); System.out.println(" Validation Class: " + cdef.getValidationClass());
pathTracking.setDefaultValidationClass( ComparatorType.UTF8TYPE.getClassName() ); pathTracking.setComparatorType( ComparatorType.UTF8TYPE ); levelColumn.setIndexType( ColumnIndexType.KEYS); levelColumn.setValidationClass(ComparatorType.LONGTYPE.getClassName()); pathTracking.addColumnDefinition( levelColumn ); startTimeColumn.setIndexType( ColumnIndexType.KEYS); startTimeColumn.setValidationClass(ComparatorType.LONGTYPE.getClassName()); pathTracking.addColumnDefinition( startTimeColumn ); pathTracking.addColumnDefinition( executionTimeColumn );
/** * Private helper to initialize the schema */ protected void initializeSchema() throws Exception { if (keyspaceDefinitions.size() == 0) throw new IllegalStateException("no keyspace definitions founds, maybe add some entities to the factory"); for (KeyspaceDefinition keyspaceDefinition : ThriftKsDef.fromThriftList(new ArrayList<KsDef>(keyspaceDefinitions.values()))) { KeyspaceDefinition existingKeyspace = cluster.describeKeyspace(keyspaceDefinition.getName()); if (existingKeyspace == null) { cluster.addKeyspace(keyspaceDefinition, true); } else { for (ColumnFamilyDefinition columnFamilyDefinition : keyspaceDefinition.getCfDefs()) { if (keyspaceContainsColumnFamily(columnFamilyDefinition, existingKeyspace)) { log.debug(String.format("found column family %s, updating schema", columnFamilyDefinition.getName())); ColumnFamilyDefinition existingColumnFamilyDefinition = getColumnFamilyFromKeyspace(columnFamilyDefinition.getName(), existingKeyspace); existingColumnFamilyDefinition.getColumnMetadata().clear(); for (ColumnDefinition columnDefinition : columnFamilyDefinition.getColumnMetadata()) { existingColumnFamilyDefinition.addColumnDefinition(columnDefinition); } cluster.updateColumnFamily(existingColumnFamilyDefinition, true); } else { log.debug(String.format("not found column family %s, adding to schema", columnFamilyDefinition.getName())); cluster.addColumnFamily(columnFamilyDefinition, true); } } } } }
ColumnFamilyDefinition cfDef = HFactory.createColumnFamilyDefinition(keyspaceName, "UserCounters"); cfDef.setKeyValidationClass(ComparatorType.UTF8TYPE.getClassName()); cfDef.setComparatorType(ComparatorType.UTF8TYPE); cfDef.setDefaultValidationClass(ComparatorType.COUNTERTYPE.getClassName()); cfDef.setColumnType(ColumnType.STANDARD); cfDef.setKeyspaceName(keyspaceName);
cfDef.setComparatorType(ComparatorType.BYTESTYPE); ComparatorType comparatorType = cfDef.getComparatorType(); if (! comparatorType.equals(ComparatorType.BYTESTYPE)) { LOG.warn("The comparator type of " + cfDef.getName() + " column family is " + comparatorType.getTypeName() + ", not BytesType. It may cause a fatal error on column validation later."); LOG.debug("The comparator type of " + cfDef.getName() + " column family is " + comparatorType.getTypeName() + ".");
List<ColumnFamilyDefinition> cfDefs = kd.getCfDefs(); for (ColumnFamilyDefinition def : cfDefs) { System.out.println(" CF Type: " +def.getColumnType()); System.out.println(" CF Name: " +def.getName()); System.out.println(" CF Metadata: " +def.getColumnMetadata());
@Test public void testAddColumnDefinitionWhenNoneOnConstructor() { ColumnFamilyDefinition cfDef = HFactory.createColumnFamilyDefinition("blah-ks", "blah-cf", ComparatorType.BYTESTYPE); assertSame( Collections.emptyList(), cfDef.getColumnMetadata()); // // column defs are not required but are nice for validating data and displaying meaningful values in // cassandra-cli // BasicColumnDefinition cd = new BasicColumnDefinition(); cd.setName(ByteBuffer.wrap("colname".getBytes())); cd.setValidationClass("org.apache.cassandra.db.marshal.UTF8Type"); cfDef.addColumnDefinition(cd); assertEquals( 1, cfDef.getColumnMetadata().size()); assertEquals( cd, cfDef.getColumnMetadata().get(0)); }
nameColumn.setIndexType( ColumnIndexType.KEYS ); nameColumn.setValidationClass( ComparatorType.UTF8TYPE.getClassName() ); namespace.addColumnDefinition( nameColumn ); repositoryIdColumn.setIndexType( ColumnIndexType.KEYS ); repositoryIdColumn.setValidationClass( ComparatorType.UTF8TYPE.getClassName() ); namespace.addColumnDefinition( repositoryIdColumn ); nameColumn.setIndexType( ColumnIndexType.KEYS ); nameColumn.setValidationClass( ComparatorType.UTF8TYPE.getClassName() ); repository.addColumnDefinition( nameColumn ); projectIdColumn.setIndexType( ColumnIndexType.KEYS ); projectIdColumn.setValidationClass( ComparatorType.UTF8TYPE.getClassName() ); project.addColumnDefinition( projectIdColumn ); repositoryIdColumn.setIndexType( ColumnIndexType.KEYS ); repositoryIdColumn.setValidationClass( ComparatorType.UTF8TYPE.getClassName() ); project.addColumnDefinition( repositoryIdColumn ); namespaceIdColumn.setIndexType( ColumnIndexType.KEYS ); namespaceIdColumn.setValidationClass( ComparatorType.UTF8TYPE.getClassName() ); project.addColumnDefinition( namespaceIdColumn ); namespaceIdColumn.setIndexType( ColumnIndexType.KEYS ); namespaceIdColumn.setValidationClass( ComparatorType.UTF8TYPE.getClassName() ); projectVersionMetadataModel.addColumnDefinition( namespaceIdColumn ); repositoryNameColumn.setIndexType( ColumnIndexType.KEYS );
@Test public void testEditColumnFamily() throws Exception { BasicColumnFamilyDefinition columnFamilyDefinition = new BasicColumnFamilyDefinition(); columnFamilyDefinition.setKeyspaceName("DynKeyspace3"); columnFamilyDefinition.setName("DynamicCF"); ColumnFamilyDefinition cfDef = new ThriftCfDef(columnFamilyDefinition); KeyspaceDefinition keyspaceDefinition = HFactory.createKeyspaceDefinition("DynKeyspace3", "org.apache.cassandra.locator.SimpleStrategy", 1, Arrays.asList(cfDef)); cassandraCluster.addKeyspace(keyspaceDefinition); KeyspaceDefinition fromCluster = cassandraCluster.describeKeyspace("DynKeyspace3"); cfDef = fromCluster.getCfDefs().get(0); columnFamilyDefinition = new BasicColumnFamilyDefinition(cfDef); BasicColumnDefinition columnDefinition = new BasicColumnDefinition(); columnDefinition.setName(StringSerializer.get().toByteBuffer("birthdate")); columnDefinition.setIndexName("birthdate_idx"); columnDefinition.setIndexType(ColumnIndexType.KEYS); columnDefinition.setValidationClass(ComparatorType.LONGTYPE.getClassName()); columnFamilyDefinition.addColumnDefinition(columnDefinition); columnDefinition = new BasicColumnDefinition(); columnDefinition.setName(StringSerializer.get().toByteBuffer("nonindexed_field")); columnDefinition.setValidationClass(ComparatorType.LONGTYPE.getClassName()); columnFamilyDefinition.addColumnDefinition(columnDefinition); cassandraCluster.updateColumnFamily(new ThriftCfDef(columnFamilyDefinition)); fromCluster = cassandraCluster.describeKeyspace("DynKeyspace3"); assertEquals("birthdate",StringSerializer.get().fromByteBuffer(fromCluster.getCfDefs().get(0).getColumnMetadata().get(0).getName())); assertEquals("birthdate_idx",fromCluster.getCfDefs().get(0).getColumnMetadata().get(0).getIndexName()); assertEquals("nonindexed_field",StringSerializer.get().fromByteBuffer(fromCluster.getCfDefs().get(0).getColumnMetadata().get(1).getName())); }
private static ColumnType checkColumnFamilyType(ColumnFamilyModel expectedColumnFamilyModel, ColumnFamilyDefinition columnFamily) { ColumnType expectedColumnType = expectedColumnFamilyModel.getType(); ColumnType columnType = columnFamily.getColumnType(); if (expectedColumnType != columnType) { throw FailureHandler.createFailure("Expected column family type is %s but was found %s.", expectedColumnType, columnType); } return columnType; }
/** * Creates POS? column family. * * @param cfName the column family name. * @return the POS? column family definition. */ protected ColumnFamilyDefinition createCF_PO_Sx(final String cfName) { final ColumnFamilyDefinition cfdef = HFactory.createColumnFamilyDefinition(_dataAccessLayerFactory.getKeyspaceName(), cfName, ComparatorType.COMPOSITETYPE); cfdef.setColumnType(ColumnType.STANDARD); cfdef.setKeyValidationClass(ComparatorType.BYTESTYPE.getClassName()); cfdef.setDefaultValidationClass(ComparatorType.BYTESTYPE.getClassName()); cfdef.setComparatorTypeAlias("(DoubleType, BytesType)"); cfdef.setCompactionStrategy("LeveledCompactionStrategy"); cfdef.setCompressionOptions(_compressionOptions); return new ThriftCfDef(cfdef); }
private boolean doesLockCFExist(KeyspaceDefinition keyspaceDef) { for (ColumnFamilyDefinition cfdef : keyspaceDef.getCfDefs()) { if (cfdef.getName().equals(lockManagerConfigurator.getLockManagerCF())) { return true; } } return false; }