@Override public CassandraClientPool getClientPool() { return CassandraKeyValueServiceImpl.this.getClientPool(); }
@Override public CassandraClientPool getClientPool() { return CassandraKeyValueServiceImpl.this.getClientPool(); }
@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 putDummyValueAtCellAndTimestamp( TableReference tableReference, Cell cell, long atlasTimestamp, long cassandraTimestamp) throws TException { CassandraKeyValueServiceImpl ckvs = (CassandraKeyValueServiceImpl) keyValueService; ckvs.getClientPool().runWithRetry(input -> { CqlQuery cqlQuery = CqlQuery.builder() .safeQueryFormat("INSERT INTO \"%s\".\"%s\" (key, column1, column2, value)" + " VALUES (%s, %s, %s, %s) USING TIMESTAMP %s;") .addArgs( SafeArg.of("keyspace", CASSANDRA.getConfig().getKeyspaceOrThrow()), LoggingArgs.internalTableName(tableReference), UnsafeArg.of("row", convertBytesToHexString(cell.getRowName())), UnsafeArg.of("column", convertBytesToHexString(cell.getColumnName())), SafeArg.of("atlasTimestamp", ~atlasTimestamp), UnsafeArg.of("value", convertBytesToHexString(PtBytes.toBytes("testtesttest"))), SafeArg.of("cassandraTimestamp", cassandraTimestamp)) .build(); return input.execute_cql3_query( cqlQuery, Compression.NONE, ConsistencyLevel.QUORUM); }); }