use of com.palantir.atlasdb.monitoring.TimestampTracker in project atlasdb by palantir.
the class SerializableTransactionManager method create.
public static SerializableTransactionManager create(KeyValueService keyValueService, TimelockService timelockService, LockService lockService, TransactionService transactionService, Supplier<AtlasDbConstraintCheckingMode> constraintModeSupplier, ConflictDetectionManager conflictDetectionManager, SweepStrategyManager sweepStrategyManager, Cleaner cleaner, Supplier<Boolean> initializationPrerequisite, boolean allowHiddenTableAccess, Supplier<Long> lockAcquireTimeoutMs, int concurrentGetRangesThreadPoolSize, int defaultGetRangesConcurrency, boolean initializeAsync, Supplier<Long> timestampCacheSize, MultiTableSweepQueueWriter sweepQueueWriter, Callback<SerializableTransactionManager> callback) {
TimestampTracker timestampTracker = TimestampTrackerImpl.createWithDefaultTrackers(timelockService, cleaner, initializeAsync);
SerializableTransactionManager serializableTransactionManager = new SerializableTransactionManager(keyValueService, timelockService, lockService, transactionService, constraintModeSupplier, conflictDetectionManager, sweepStrategyManager, cleaner, timestampTracker, timestampCacheSize, allowHiddenTableAccess, lockAcquireTimeoutMs, concurrentGetRangesThreadPoolSize, defaultGetRangesConcurrency, sweepQueueWriter);
if (!initializeAsync) {
callback.runWithRetry(serializableTransactionManager);
}
return initializeAsync ? new InitializeCheckingWrapper(serializableTransactionManager, initializationPrerequisite, callback) : serializableTransactionManager;
}
Aggregations