private void tryInitialize() { createTable(AtlasDbConstants.DEFAULT_METADATA_TABLE, AtlasDbConstants.EMPTY_TABLE_METADATA); lowerConsistencyWhenSafe(); upgradeFromOlderInternalSchema(); CassandraKeyValueServices.warnUserInInitializationIfClusterAlreadyInInconsistentState( clientPool, config); }
@Test public void ifWrapperIsNotInitializedDelegateIsNotCalled() { when(kvsWrapper.isInitialized()).thenReturn(false); TableReference tableRef = TableReference.create(Namespace.DEFAULT_NAMESPACE, "test"); assertThatThrownBy(() -> kvsWrapper.createTable(tableRef, AtlasDbConstants.GENERIC_TABLE_METADATA)) .isInstanceOf(NotInitializedException.class); verify(kvs, never()).createTable(any(TableReference.class), any()); } }
@Test public void ifWrapperIsInitializedDelegateIsCalled() { when(kvsWrapper.isInitialized()).thenReturn(true); TableReference tableRef = TableReference.create(Namespace.DEFAULT_NAMESPACE, "test"); kvsWrapper.createTable(tableRef, AtlasDbConstants.GENERIC_TABLE_METADATA); verify(kvs).createTable(any(TableReference.class), any()); }
@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)); }
private void tryInitialize() { createTable(AtlasDbConstants.DEFAULT_METADATA_TABLE, AtlasDbConstants.EMPTY_TABLE_METADATA); lowerConsistencyWhenSafe(); upgradeFromOlderInternalSchema(); CassandraKeyValueServices.warnUserInInitializationIfClusterAlreadyInInconsistentState( clientPool, config); }