Search in sources :

Example 1 with CqlRow

use of org.apache.cassandra.thrift.CqlRow in project atlasdb by palantir.

the class CassandraTimestampUtilsTest method createMockCqlRow.

private static CqlRow createMockCqlRow(List<Column> columns) {
    CqlRow row = mock(CqlRow.class);
    when(row.getColumns()).thenReturn(columns);
    return row;
}
Also used : CqlRow(org.apache.cassandra.thrift.CqlRow)

Example 2 with CqlRow

use of org.apache.cassandra.thrift.CqlRow in project atlasdb by palantir.

the class CassandraKeyValueServiceIntegrationTest method testCleanCassLocksStateCli.

@Test
public void testCleanCassLocksStateCli() throws Exception {
    CassandraKeyValueServiceImpl ckvs = (CassandraKeyValueServiceImpl) keyValueService;
    SchemaMutationLockTables lockTables = new SchemaMutationLockTables(ckvs.getClientPool(), CassandraContainer.KVS_CONFIG);
    SchemaMutationLockTestTools lockTestTools = new SchemaMutationLockTestTools(ckvs.getClientPool(), new UniqueSchemaMutationLockTable(lockTables, LockLeader.I_AM_THE_LOCK_LEADER));
    grabLock(lockTestTools);
    createExtraLocksTable(lockTables);
    new CleanCassLocksStateCommand().runWithConfig(CassandraContainer.KVS_CONFIG);
    // depending on which table we pick when running cleanup on multiple lock tables, we might have a table with
    // no rows or a table with a single row containing the cleared lock value (both are valid clean states).
    List<CqlRow> resultRows = lockTestTools.readLocksTable().getRows();
    assertThat(resultRows, either(is(empty())).or(hasSize(1)));
    if (resultRows.size() == 1) {
        Column resultColumn = Iterables.getOnlyElement(Iterables.getOnlyElement(resultRows).getColumns());
        long lockId = SchemaMutationLock.getLockIdFromColumn(resultColumn);
        assertThat(lockId, is(SchemaMutationLock.GLOBAL_DDL_LOCK_CLEARED_ID));
    }
}
Also used : CleanCassLocksStateCommand(com.palantir.atlasdb.cli.command.CleanCassLocksStateCommand) CqlRow(org.apache.cassandra.thrift.CqlRow) Column(org.apache.cassandra.thrift.Column) AbstractKeyValueServiceTest(com.palantir.atlasdb.keyvalue.impl.AbstractKeyValueServiceTest) Test(org.junit.Test)

Example 3 with CqlRow

use of org.apache.cassandra.thrift.CqlRow in project atlasdb by palantir.

the class CassandraKeyValueServiceIntegrationTest method testLockTablesStateCleanUp.

@Test
public void testLockTablesStateCleanUp() throws Exception {
    CassandraKeyValueServiceImpl ckvs = (CassandraKeyValueServiceImpl) keyValueService;
    SchemaMutationLockTables lockTables = new SchemaMutationLockTables(ckvs.getClientPool(), CassandraContainer.KVS_CONFIG);
    SchemaMutationLockTestTools lockTestTools = new SchemaMutationLockTestTools(ckvs.getClientPool(), new UniqueSchemaMutationLockTable(lockTables, LockLeader.I_AM_THE_LOCK_LEADER));
    grabLock(lockTestTools);
    createExtraLocksTable(lockTables);
    TracingQueryRunner queryRunner = new TracingQueryRunner(LoggerFactory.getLogger(CassandraKeyValueServiceIntegrationTest.class), new TracingPrefsConfig());
    CassandraSchemaLockCleaner cleaner = CassandraSchemaLockCleaner.create(CassandraContainer.KVS_CONFIG, ckvs.getClientPool(), lockTables, queryRunner);
    cleaner.cleanLocksState();
    // depending on which table we pick when running cleanup on multiple lock tables, we might have a table with
    // no rows or a table with a single row containing the cleared lock value (both are valid clean states).
    List<CqlRow> resultRows = lockTestTools.readLocksTable().getRows();
    assertThat(resultRows, either(is(empty())).or(hasSize(1)));
    if (resultRows.size() == 1) {
        Column resultColumn = Iterables.getOnlyElement(Iterables.getOnlyElement(resultRows).getColumns());
        long lockId = SchemaMutationLock.getLockIdFromColumn(resultColumn);
        assertThat(lockId, is(SchemaMutationLock.GLOBAL_DDL_LOCK_CLEARED_ID));
    }
}
Also used : CqlRow(org.apache.cassandra.thrift.CqlRow) TracingPrefsConfig(com.palantir.atlasdb.keyvalue.impl.TracingPrefsConfig) Column(org.apache.cassandra.thrift.Column) AbstractKeyValueServiceTest(com.palantir.atlasdb.keyvalue.impl.AbstractKeyValueServiceTest) Test(org.junit.Test)

Aggregations

CqlRow (org.apache.cassandra.thrift.CqlRow)3 AbstractKeyValueServiceTest (com.palantir.atlasdb.keyvalue.impl.AbstractKeyValueServiceTest)2 Column (org.apache.cassandra.thrift.Column)2 Test (org.junit.Test)2 CleanCassLocksStateCommand (com.palantir.atlasdb.cli.command.CleanCassLocksStateCommand)1 TracingPrefsConfig (com.palantir.atlasdb.keyvalue.impl.TracingPrefsConfig)1