/** 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; }
/** * 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 ); } }
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; }
public ThriftCfDef(ColumnFamilyDefinition columnFamilyDefinition) { keyspace = 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(); keyValidationClass = columnFamilyDefinition.getKeyValidationClass(); keyValidationAlias = columnFamilyDefinition.getKeyValidationAlias(); readRepairChance = columnFamilyDefinition.getReadRepairChance(); columnMetadata = columnFamilyDefinition.getColumnMetadata(); gcGraceSeconds = columnFamilyDefinition.getGcGraceSeconds(); defaultValidationClass = columnFamilyDefinition.getDefaultValidationClass(); id = columnFamilyDefinition.getId(); minCompactionThreshold = columnFamilyDefinition.getMinCompactionThreshold() == 0 ? CFMetaDataDefaults.DEFAULT_MIN_COMPACTION_THRESHOLD : columnFamilyDefinition.getMinCompactionThreshold(); maxCompactionThreshold = columnFamilyDefinition.getMaxCompactionThreshold() == 0 ? CFMetaDataDefaults.DEFAULT_MAX_COMPACTION_THRESHOLD : columnFamilyDefinition.getMaxCompactionThreshold(); memtableFlushAfterMins = columnFamilyDefinition.getMemtableFlushAfterMins() == 0 ? CFMetaDataDefaults.DEFAULT_MEMTABLE_LIFETIME_IN_MINS : columnFamilyDefinition.getMemtableFlushAfterMins(); memtableThroughputInMb = columnFamilyDefinition.getMemtableThroughputInMb() == 0 ? CFMetaDataDefaults.DEFAULT_MEMTABLE_THROUGHPUT_IN_MB : columnFamilyDefinition.getMemtableThroughputInMb(); memtableOperationsInMillions = columnFamilyDefinition.getMemtableOperationsInMillions() == 0 ? CFMetaDataDefaults.DEFAULT_MEMTABLE_OPERATIONS_IN_MILLIONS : columnFamilyDefinition.getMemtableOperationsInMillions();
public ThriftKsDef(KeyspaceDefinition keyspaceDefinition) { name = keyspaceDefinition.getName(); strategyClass = keyspaceDefinition.getStrategyClass(); strategyOptions = keyspaceDefinition.getStrategyOptions(); setReplicationFactor(keyspaceDefinition.getReplicationFactor()); cfDefs = keyspaceDefinition.getCfDefs(); }
@Test public void getByClassNameShouldReturnCorrectCustomComaparator() { ComparatorType comparator = ComparatorType.getByClassName("com.custom.Comparator"); assertEquals("com.custom.Comparator", comparator.getClassName()); assertEquals("com.custom.Comparator", comparator.getTypeName()); }
@Test public void testDescribeKeyspace() throws Exception { KeyspaceDefinition keyspaceDetail = cassandraCluster.describeKeyspace("Keyspace1"); assertNotNull(keyspaceDetail); assertEquals(22, keyspaceDetail.getCfDefs().size()); } }
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; }
private boolean verifyCFCreation(List<ColumnFamilyDefinition> cfDefs) { for (ColumnFamilyDefinition cfDef : cfDefs) { if (cfDef.getName().equals(HLockManagerConfigurator.DEFAUT_LOCK_MANAGER_CF)) return true; } return false; }
public CfDef toThrift() { CfDef d = new CfDef(keyspace, name); d.setColumn_metadata(ThriftColumnDef.toThriftList(columnMetadata)); d.setColumn_type(columnType.getValue()); d.setComment(comment); d.setComparator_type(comparatorType.getClassName() + comparatorTypeAlias); d.setDefault_validation_class(defaultValidationClass); d.setGc_grace_seconds(gcGraceSeconds); d.setSubcomparator_type(subComparatorType.getClassName() + subComparatorTypeAlias);
public ThriftColumnDef(ColumnDefinition columnDefinition) { name = columnDefinition.getName(); validationClass = columnDefinition.getValidationClass(); indexType = columnDefinition.getIndexType(); indexName = columnDefinition.getIndexName(); }
keyspace = d.keyspace; name = d.name; columnType = ColumnType.getFromValue(d.column_type); comparatorType = ComparatorType.getByClassName(d.comparator_type); subComparatorType = ComparatorType.getByClassName(d.subcomparator_type); comment = d.comment; rowCacheSize = d.row_cache_size;
public void checkKeyspaces() { List<KeyspaceDefinition> ksDefs = null; try { ksDefs = cluster.describeKeyspaces(); } catch (Exception e) { log.error("Unable to describe keyspaces", e); } if (ksDefs != null) { for (KeyspaceDefinition ksDef : ksDefs) { log.info(ksDef.getName().toString()); } } }
private String comparatorForSerializer(Serializer<?> s) { String comparator = serializerToComparatorMapping.get(s.getClass()); if (comparator != null) { return comparator; } return BYTESTYPE.getTypeName(); }
@Test public void getByClassNameShouldReturnNullWhenNullClassName() { assertEquals(null, ComparatorType.getByClassName(null)); }
public static ComparatorType getByClassName(String className) { if (className == null) { return null; } ComparatorType type = valuesMap.get(className); if (type == null) { return new ComparatorType(className); } return type; }
@Test public void getByClassNameShouldReturnCorrectUnknownComaparator() { ComparatorType comparator = ComparatorType.getByClassName( "org.apache.cassandra.db.marshal.SomeNewType"); assertEquals("org.apache.cassandra.db.marshal.SomeNewType", comparator.getClassName()); assertEquals("SomeNewType", comparator.getTypeName()); }
@Test public void testDescribeKeyspace() throws Exception { ThriftCluster cassandraCluster = new ThriftCluster("Test Cluster", cassandraHostConfigurator, user1Credentials); KeyspaceDefinition keyspaceDetail = cassandraCluster.describeKeyspace("Keyspace1"); assertNotNull(keyspaceDetail); assertEquals(22, keyspaceDetail.getCfDefs().size()); }