Search in sources :

Example 21 with TimestampService

use of com.palantir.timestamp.TimestampService in project atlasdb by palantir.

the class PaxosTimeLockServerIntegrationTest method throwsOnQueryingTimestampWithWithInvalidClientName.

@Test
public void throwsOnQueryingTimestampWithWithInvalidClientName() {
    TimestampService invalidTimestampService = getTimestampService(INVALID_CLIENT);
    assertThatThrownBy(invalidTimestampService::getFreshTimestamp).hasMessageContaining("Unexpected char 0x08");
}
Also used : TimestampService(com.palantir.timestamp.TimestampService) Test(org.junit.Test)

Example 22 with TimestampService

use of com.palantir.timestamp.TimestampService in project atlasdb by palantir.

the class KeyValueServiceMigratorsTest method createMockAtlasDbServices.

private static AtlasDbServices createMockAtlasDbServices() {
    TimestampService timestampService = new InMemoryTimestampService();
    AtlasDbServices mockServices = mock(AtlasDbServices.class);
    when(mockServices.getTimestampService()).thenReturn(timestampService);
    when(mockServices.getTransactionService()).thenReturn(mock(TransactionService.class));
    return mockServices;
}
Also used : TransactionService(com.palantir.atlasdb.transaction.service.TransactionService) InMemoryTimestampService(com.palantir.timestamp.InMemoryTimestampService) AtlasDbServices(com.palantir.atlasdb.services.AtlasDbServices) InMemoryTimestampService(com.palantir.timestamp.InMemoryTimestampService) TimestampService(com.palantir.timestamp.TimestampService)

Example 23 with TimestampService

use of com.palantir.timestamp.TimestampService in project atlasdb by palantir.

the class TestSweepCommand method testSweepNamespace.

@Test
public void testSweepNamespace() throws Exception {
    try (SingleBackendCliTestRunner runner = makeRunner(paramsWithDryRunSet(SWEEP_COMMAND, "-n", NS1.getName()))) {
        TestAtlasDbServices services = runner.connect(moduleFactory);
        SerializableTransactionManager txm = services.getTransactionManager();
        TimestampService tss = services.getTimestampService();
        KeyValueService kvs = services.getKeyValueService();
        createTable(kvs, TABLE_ONE, TableMetadataPersistence.SweepStrategy.CONSERVATIVE);
        createTable(kvs, TABLE_TWO, TableMetadataPersistence.SweepStrategy.CONSERVATIVE);
        createTable(kvs, TABLE_THREE, TableMetadataPersistence.SweepStrategy.CONSERVATIVE);
        long ts1 = put(txm, TABLE_ONE, "foo", "bar");
        long ts2 = put(txm, TABLE_TWO, "foo", "tar");
        long ts3 = put(txm, TABLE_THREE, "foo", "jar");
        long ts4 = put(txm, TABLE_ONE, "foo", "baz");
        long ts5 = put(txm, TABLE_THREE, "foo", "jaz");
        long ts6 = put(txm, TABLE_TWO, "foo", "taz");
        long ts7 = tss.getFreshTimestamp();
        sweep(runner, ts7);
        Assert.assertEquals("baz", get(kvs, TABLE_ONE, "foo", ts7));
        Assert.assertEquals(deletedValue("bar"), get(kvs, TABLE_ONE, "foo", mid(ts1, ts2)));
        Assert.assertEquals(ImmutableSet.of(deletedTimestamp(ts1), ts4), getAllTs(kvs, TABLE_ONE, "foo"));
        Assert.assertEquals("taz", get(kvs, TABLE_TWO, "foo", ts7));
        Assert.assertEquals(deletedValue("tar"), get(kvs, TABLE_TWO, "foo", mid(ts4, ts6)));
        Assert.assertEquals(ImmutableSet.of(deletedTimestamp(ts2), ts6), getAllTs(kvs, TABLE_TWO, "foo"));
        Assert.assertEquals("jaz", get(kvs, TABLE_THREE, "foo", ts7));
        Assert.assertEquals("jar", get(kvs, TABLE_THREE, "foo", mid(ts3, ts5)));
        Assert.assertEquals(ImmutableSet.of(ts3, ts5), getAllTs(kvs, TABLE_THREE, "foo"));
    }
}
Also used : KeyValueService(com.palantir.atlasdb.keyvalue.api.KeyValueService) SingleBackendCliTestRunner(com.palantir.atlasdb.cli.runner.SingleBackendCliTestRunner) SerializableTransactionManager(com.palantir.atlasdb.transaction.impl.SerializableTransactionManager) DaggerTestAtlasDbServices(com.palantir.atlasdb.services.test.DaggerTestAtlasDbServices) TestAtlasDbServices(com.palantir.atlasdb.services.test.TestAtlasDbServices) TimestampService(com.palantir.timestamp.TimestampService) Test(org.junit.Test)

Example 24 with TimestampService

use of com.palantir.timestamp.TimestampService in project atlasdb by palantir.

the class TestSweepCommand method testSweepTable.

@Test
public void testSweepTable() throws Exception {
    try (SingleBackendCliTestRunner runner = makeRunner(paramsWithDryRunSet(SWEEP_COMMAND, "-t", TABLE_ONE.getQualifiedName()))) {
        TestAtlasDbServices services = runner.connect(moduleFactory);
        SerializableTransactionManager txm = services.getTransactionManager();
        TimestampService tss = services.getTimestampService();
        KeyValueService kvs = services.getKeyValueService();
        createTable(kvs, TABLE_ONE, TableMetadataPersistence.SweepStrategy.CONSERVATIVE);
        createTable(kvs, TABLE_TWO, TableMetadataPersistence.SweepStrategy.CONSERVATIVE);
        long ts1 = put(txm, TABLE_ONE, "foo", "bar");
        long ts2 = put(txm, TABLE_TWO, "foo", "tar");
        long ts3 = put(txm, TABLE_ONE, "foo", "baz");
        long ts4 = put(txm, TABLE_TWO, "foo", "taz");
        long ts5 = tss.getFreshTimestamp();
        String stdout = sweep(runner, ts5);
        Scanner scanner = new Scanner(stdout);
        final long cellValuesExamined = Long.parseLong(scanner.findInLine("\\d+ cell values").split(" ")[0]);
        final long deletedCells = Long.parseLong(scanner.findInLine("deleted \\d+ stale versions of those cells").split(" ")[1]);
        Assert.assertEquals(2, cellValuesExamined);
        Assert.assertEquals(1, deletedCells);
        Assert.assertEquals("baz", get(kvs, TABLE_ONE, "foo", ts5));
        Assert.assertEquals(deletedValue("bar"), get(kvs, TABLE_ONE, "foo", mid(ts1, ts3)));
        Assert.assertEquals(ImmutableSet.of(deletedTimestamp(ts1), ts3), getAllTs(kvs, TABLE_ONE, "foo"));
        Assert.assertEquals("taz", get(kvs, TABLE_TWO, "foo", ts5));
        Assert.assertEquals("tar", get(kvs, TABLE_TWO, "foo", mid(ts3, ts4)));
        Assert.assertEquals(ImmutableSet.of(ts2, ts4), getAllTs(kvs, TABLE_TWO, "foo"));
    }
}
Also used : Scanner(java.util.Scanner) KeyValueService(com.palantir.atlasdb.keyvalue.api.KeyValueService) SingleBackendCliTestRunner(com.palantir.atlasdb.cli.runner.SingleBackendCliTestRunner) SerializableTransactionManager(com.palantir.atlasdb.transaction.impl.SerializableTransactionManager) DaggerTestAtlasDbServices(com.palantir.atlasdb.services.test.DaggerTestAtlasDbServices) TestAtlasDbServices(com.palantir.atlasdb.services.test.TestAtlasDbServices) TimestampService(com.palantir.timestamp.TimestampService) Test(org.junit.Test)

Example 25 with TimestampService

use of com.palantir.timestamp.TimestampService in project atlasdb by palantir.

the class TestSweepCommand method testSweepStartRow.

@Test
public void testSweepStartRow() throws Exception {
    try (SingleBackendCliTestRunner runner = makeRunner(paramsWithDryRunSet(SWEEP_COMMAND, "-t", TABLE_ONE.getQualifiedName(), "-r", BaseEncoding.base16().encode("foo".getBytes(StandardCharsets.UTF_8))))) {
        TestAtlasDbServices services = runner.connect(moduleFactory);
        SerializableTransactionManager txm = services.getTransactionManager();
        TimestampService tss = services.getTimestampService();
        KeyValueService kvs = services.getKeyValueService();
        createTable(kvs, TABLE_ONE, TableMetadataPersistence.SweepStrategy.CONSERVATIVE);
        long ts1 = put(txm, TABLE_ONE, "foo", "bar");
        long ts2 = put(txm, TABLE_ONE, "foo", "biz");
        long ts3 = put(txm, TABLE_ONE, "boo", "biz");
        long ts4 = put(txm, TABLE_ONE, "foo", "baz");
        long ts5 = tss.getFreshTimestamp();
        sweep(runner, ts5);
        Assert.assertEquals("baz", get(kvs, TABLE_ONE, "foo", ts5));
        Assert.assertEquals(deletedValue("bar"), get(kvs, TABLE_ONE, "foo", mid(ts1, ts3)));
        Assert.assertEquals(deletedValue("biz"), get(kvs, TABLE_ONE, "foo", mid(ts2, ts4)));
        Assert.assertEquals("biz", get(kvs, TABLE_ONE, "boo", mid(ts3, ts5)));
        Assert.assertEquals(ImmutableSet.of(deletedTimestamp(ts1), deletedTimestamp(ts2), ts4), getAllTs(kvs, TABLE_ONE, "foo"));
        Assert.assertEquals(ImmutableSet.of(ts3), getAllTs(kvs, TABLE_ONE, "boo"));
    }
}
Also used : KeyValueService(com.palantir.atlasdb.keyvalue.api.KeyValueService) SingleBackendCliTestRunner(com.palantir.atlasdb.cli.runner.SingleBackendCliTestRunner) SerializableTransactionManager(com.palantir.atlasdb.transaction.impl.SerializableTransactionManager) DaggerTestAtlasDbServices(com.palantir.atlasdb.services.test.DaggerTestAtlasDbServices) TestAtlasDbServices(com.palantir.atlasdb.services.test.TestAtlasDbServices) TimestampService(com.palantir.timestamp.TimestampService) Test(org.junit.Test)

Aggregations

TimestampService (com.palantir.timestamp.TimestampService)26 Test (org.junit.Test)12 InMemoryTimestampService (com.palantir.timestamp.InMemoryTimestampService)7 SerializableTransactionManager (com.palantir.atlasdb.transaction.impl.SerializableTransactionManager)6 LockService (com.palantir.lock.LockService)6 SingleBackendCliTestRunner (com.palantir.atlasdb.cli.runner.SingleBackendCliTestRunner)5 KeyValueService (com.palantir.atlasdb.keyvalue.api.KeyValueService)5 DaggerTestAtlasDbServices (com.palantir.atlasdb.services.test.DaggerTestAtlasDbServices)5 TestAtlasDbServices (com.palantir.atlasdb.services.test.TestAtlasDbServices)5 LockRefreshingLockService (com.palantir.lock.client.LockRefreshingLockService)4 Before (org.junit.Before)4 KvsBackedPersistentLockService (com.palantir.atlasdb.persistentlock.KvsBackedPersistentLockService)3 NoOpPersistentLockService (com.palantir.atlasdb.persistentlock.NoOpPersistentLockService)3 PersistentLockService (com.palantir.atlasdb.persistentlock.PersistentLockService)3 SweepStrategyManager (com.palantir.atlasdb.transaction.impl.SweepStrategyManager)3 TransactionService (com.palantir.atlasdb.transaction.service.TransactionService)3 LockClient (com.palantir.lock.LockClient)3 LegacyTimelockService (com.palantir.lock.impl.LegacyTimelockService)3 TimestampManagementService (com.palantir.timestamp.TimestampManagementService)3 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)2