Search in sources :

Example 1 with TaskProgress

use of com.palantir.atlasdb.schema.TaskProgress in project atlasdb by palantir.

the class KeyValueServiceMigrators method setupMigrator.

public static KeyValueServiceMigrator setupMigrator(MigratorSpec migratorSpec) {
    AtlasDbServices fromServices = migratorSpec.fromServices();
    long migrationStartTimestamp = fromServices.getTimestampService().getFreshTimestamp();
    long migrationCommitTimestamp = fromServices.getTimestampService().getFreshTimestamp();
    AtlasDbServices toServices = migratorSpec.toServices();
    TimestampManagementService toTimestampManagementService = getTimestampManagementService(toServices);
    toServices.getTransactionService().putUnlessExists(migrationStartTimestamp, migrationCommitTimestamp);
    toTimestampManagementService.fastForwardTimestamp(migrationCommitTimestamp + 1);
    return new KeyValueServiceMigrator(CHECKPOINT_NAMESPACE, fromServices.getTransactionManager(), toServices.getTransactionManager(), fromServices.getKeyValueService(), toServices.getKeyValueService(), Suppliers.ofInstance(migrationStartTimestamp), migratorSpec.threads(), migratorSpec.batchSize(), ImmutableMap.of(), (String message, KeyValueServiceMigrator.KvsMigrationMessageLevel level) -> printer.info(level.toString() + ": " + message), new TaskProgress() {

        @Override
        public void beginTask(String message, int tasks) {
            printer.info(message);
        }

        @Override
        public void subTaskComplete() {
        // 
        }

        @Override
        public void taskComplete() {
        // 
        }
    }, ImmutableSet.of());
}
Also used : KeyValueServiceMigrator(com.palantir.atlasdb.schema.KeyValueServiceMigrator) TimestampManagementService(com.palantir.timestamp.TimestampManagementService) AtlasDbServices(com.palantir.atlasdb.services.AtlasDbServices) TaskProgress(com.palantir.atlasdb.schema.TaskProgress)

Aggregations

KeyValueServiceMigrator (com.palantir.atlasdb.schema.KeyValueServiceMigrator)1 TaskProgress (com.palantir.atlasdb.schema.TaskProgress)1 AtlasDbServices (com.palantir.atlasdb.services.AtlasDbServices)1 TimestampManagementService (com.palantir.timestamp.TimestampManagementService)1