CfDef clientSideCf = getCfForTable(tableRef, clusterSideMetadata, config.gcGraceSeconds()); if (!ColumnFamilyDefinitions.isMatchingCf(clientSideCf, clusterSideCf)) {
@Test public void compactionStrategiesShouldMatchWithOrWithoutPackageName() { CfDef standard = ColumnFamilyDefinitions.getCfDef( "test_keyspace", TableReference.fromString("test_table"), CassandraConstants.DEFAULT_GC_GRACE_SECONDS, new byte[0]); CfDef fullyQualified = standard.setCompaction_strategy("com.palantir.AwesomeCompactionStrategy"); CfDef onlyClassName = standard.deepCopy().setCompaction_strategy("AwesomeCompactionStrategy"); assertTrue( String.format("Compaction strategies %s and %s should match", fullyQualified.compaction_strategy, onlyClassName.compaction_strategy), ColumnFamilyDefinitions.isMatchingCf(fullyQualified, onlyClassName)); }
@Test public void testCfEqualityChecker() throws TException { CassandraKeyValueServiceImpl kvs; if (keyValueService instanceof CassandraKeyValueService) { kvs = (CassandraKeyValueServiceImpl) keyValueService; } else if (keyValueService instanceof TableSplittingKeyValueService) { // scylla tests KeyValueService delegate = ((TableSplittingKeyValueService) keyValueService).getDelegate(NEVER_SEEN); assertTrue("The nesting of Key Value Services has apparently changed", delegate instanceof CassandraKeyValueService); kvs = (CassandraKeyValueServiceImpl) delegate; } else { throw new IllegalArgumentException("Can't run this cassandra-specific test against a non-cassandra KVS"); } kvs.createTable(NEVER_SEEN, getMetadata()); List<CfDef> knownCfs = kvs.getClientPool().runWithRetry(client -> client.describe_keyspace(CASSANDRA.getConfig().getKeyspaceOrThrow()).getCf_defs()); CfDef clusterSideCf = Iterables.getOnlyElement(knownCfs.stream() .filter(cf -> cf.getName().equals(getInternalTestTableName())) .collect(Collectors.toList())); assertTrue("After serialization and deserialization to database, Cf metadata did not match.", ColumnFamilyDefinitions.isMatchingCf(kvs.getCfForTable(NEVER_SEEN, getMetadata(), FOUR_DAYS_IN_SECONDS), clusterSideCf)); }
@Test public void nonDefaultFeaturesCorrectlyCompared() { CfDef cf1 = ColumnFamilyDefinitions.getCfDef( "test_keyspace", TableReference.fromString("test_table"), FOUR_DAYS_IN_SECONDS, TABLE_METADATA_WITH_MANY_NON_DEFAULT_FEATURES); CfDef cf2 = ColumnFamilyDefinitions.getCfDef( "test_keyspace", TableReference.fromString("test_table"), FOUR_DAYS_IN_SECONDS, TABLE_METADATA_WITH_MANY_NON_DEFAULT_FEATURES); assertTrue("identical CFs should equal each other", ColumnFamilyDefinitions.isMatchingCf(cf1, cf2)); }
@Test public void cfDefWithDifferingGcGraceSecondsValuesShouldNotMatch() { CfDef clientSideTable = ColumnFamilyDefinitions.getCfDef( "test_keyspace", TableReference.fromString("test_table"), CassandraConstants.DEFAULT_GC_GRACE_SECONDS, AtlasDbConstants.GENERIC_TABLE_METADATA); CfDef clusterSideTable = ColumnFamilyDefinitions.getCfDef( "test_keyspace", TableReference.fromString("test_table"), FOUR_DAYS_IN_SECONDS, AtlasDbConstants.GENERIC_TABLE_METADATA); assertFalse("ColumnDefinitions with different gc_grace_seconds should not match", ColumnFamilyDefinitions.isMatchingCf(clientSideTable, clusterSideTable)); }
@Test public void identicalCfsAreEqual() { CfDef cf1 = ColumnFamilyDefinitions.getCfDef( "test_keyspace", TableReference.fromString("test_table"), FOUR_DAYS_IN_SECONDS, AtlasDbConstants.GENERIC_TABLE_METADATA); CfDef cf2 = ColumnFamilyDefinitions.getCfDef( "test_keyspace", TableReference.fromString("test_table"), FOUR_DAYS_IN_SECONDS, AtlasDbConstants.GENERIC_TABLE_METADATA); assertTrue("identical CFs should equal each other", ColumnFamilyDefinitions.isMatchingCf(cf1, cf2)); } }
CfDef clientSideCf = getCfForTable(tableRef, clusterSideMetadata, config.gcGraceSeconds()); if (!ColumnFamilyDefinitions.isMatchingCf(clientSideCf, clusterSideCf)) {