/** * Creates a ConflictDetectionManager and kicks off an asynchronous thread to warm the cache that is used for * conflict detection. */ public static ConflictDetectionManager create(KeyValueService kvs) { return create(kvs, true); }
NoOpCleaner.INSTANCE, () -> startTimeStamp, ConflictDetectionManagers.createWithNoConflictDetection(), SweepStrategyManagers.createDefault(keyValueService), startTimeStamp,
return null; } else { return getConflictHandlerFromMetadata(metadata);
@SuppressWarnings("Indentation") // Checkstyle complains about lambda in constructor. public TestTransactionManagerImpl(MetricsManager metricsManager, KeyValueService keyValueService, TimestampService timestampService, TimestampManagementService timestampManagementService, LockClient lockClient, LockService lockService, TransactionService transactionService, AtlasDbConstraintCheckingMode constraintCheckingMode) { super(metricsManager, createAssertKeyValue(keyValueService, lockService), new LegacyTimelockService(timestampService, lockService, lockClient), timestampManagementService, lockService, transactionService, Suppliers.ofInstance(constraintCheckingMode), ConflictDetectionManagers.createWithoutWarmingCache(keyValueService), SweepStrategyManagers.createDefault(keyValueService), NoOpCleaner.INSTANCE, TimestampCache.createForTests(), false, AbstractTransactionTest.GET_RANGES_THREAD_POOL_SIZE, AbstractTransactionTest.DEFAULT_GET_RANGES_CONCURRENCY, MultiTableSweepQueueWriter.NO_OP, MoreExecutors.newDirectExecutorService(), true, () -> TRANSACTION_CONFIG); }
LockServerOptions.builder().isStandaloneServer(false).build())); LockClient client = LockClient.of("in memory atlasdb instance"); ConflictDetectionManager conflictManager = ConflictDetectionManagers.createWithoutWarmingCache(keyValueService); SweepStrategyManager sweepStrategyManager = SweepStrategyManagers.createDefault(keyValueService);
/** * Creates a ConflictDetectionManager without warming the cache. */ public static ConflictDetectionManager createWithoutWarmingCache(KeyValueService kvs) { return create(kvs, false); }
transactionService, () -> AtlasDbConstraintCheckingMode.NO_CONSTRAINT_CHECKING, ConflictDetectionManagers.createWithoutWarmingCache(kvs), SweepStrategyManagers.createDefault(kvs), new NoOpCleaner(),
NoOpCleaner.INSTANCE, Suppliers.ofInstance(commitTs + 1), ConflictDetectionManagers.createWithNoConflictDetection(), sweepStrategyManager, immutableTimestamp,
return null; } else { return getConflictHandlerFromMetadata(metadata);
/** * @deprecated use {@link #create(KeyValueService)} instead. This constructor will be removed in a future release. */ @Deprecated public static ConflictDetectionManager createDefault(KeyValueService kvs) { return create(kvs); }
public static TransactionManager setupTxManager(KeyValueService kvs, TimestampService tsService, TimestampManagementService tsmService, SweepStrategyManager ssm, TransactionService txService) { MetricsManager metricsManager = MetricsManagers.createForTests(); LockClient lockClient = LockClient.of("sweep client"); LockService lockService = LockServiceImpl.create( LockServerOptions.builder().isStandaloneServer(false).build()); Supplier<AtlasDbConstraintCheckingMode> constraints = () -> AtlasDbConstraintCheckingMode.NO_CONSTRAINT_CHECKING; ConflictDetectionManager cdm = ConflictDetectionManagers.createWithoutWarmingCache(kvs); Cleaner cleaner = new NoOpCleaner(); MultiTableSweepQueueWriter writer = TargetedSweeper.createUninitializedForTest(() -> 1); TransactionManager txManager = SerializableTransactionManager.createForTest( metricsManager, kvs, tsService, tsmService, lockClient, lockService, txService, constraints, cdm, ssm, cleaner, AbstractTransactionTest.GET_RANGES_THREAD_POOL_SIZE, AbstractTransactionTest.DEFAULT_GET_RANGES_CONCURRENCY, writer); setupTables(kvs); writer.initialize(txManager); return txManager; }
NoOpCleaner.INSTANCE, () -> startTimeStamp, ConflictDetectionManagers.createWithNoConflictDetection(), SweepStrategyManagers.createDefault(keyValueService), startTimeStamp,
@Provides @Singleton public ConflictDetectionManager provideConflictDetectionManager(@Named("kvs") KeyValueService kvs) { return ConflictDetectionManagers.create(kvs); }
@Before public void setUp() throws Exception { timestampService = new InMemoryTimestampService(); KeyValueService kvs = getBaseKeyValueService(); keyValueServiceWithStats = new StatsTrackingKeyValueService(kvs); keyValueService = spy(new TrackingKeyValueService(keyValueServiceWithStats)); TransactionTables.createTables(kvs); transactionService = TransactionServices.createForTesting(keyValueService, timestampService, false); conflictDetectionManager = ConflictDetectionManagers.createWithoutWarmingCache(keyValueService); sweepStrategyManager = SweepStrategyManagers.createDefault(keyValueService); sweepQueue = spy(TargetedSweeper.createUninitializedForTest(() -> sweepQueueShards)); serializableTxManager = new TestTransactionManagerImpl( metricsManager, keyValueService, timestampService, timestampService, lockClient, lockService, transactionService, conflictDetectionManager, sweepStrategyManager, sweepQueue, MoreExecutors.newDirectExecutorService()); sweepQueue.initialize(serializableTxManager); txManager = new CachingTestTransactionManager(serializableTxManager); }
NoOpCleaner.INSTANCE, Suppliers.ofInstance(commitTs + 1), ConflictDetectionManagers.createWithNoConflictDetection(), sweepStrategyManager, immutableTimestamp,
protected Transaction startTransaction() { long startTimestamp = timestampService.getFreshTimestamp(); return new SnapshotTransaction(metricsManager, keyValueService, new LegacyTimelockService(timestampService, lockService, lockClient), transactionService, NoOpCleaner.INSTANCE, () -> startTimestamp, ConflictDetectionManagers.create(keyValueService), SweepStrategyManagers.createDefault(keyValueService), startTimestamp, Optional.empty(), PreCommitConditions.NO_OP, AtlasDbConstraintCheckingMode.NO_CONSTRAINT_CHECKING, null, TransactionReadSentinelBehavior.THROW_EXCEPTION, false, timestampCache, GET_RANGES_EXECUTOR, DEFAULT_GET_RANGES_CONCURRENCY, MultiTableSweepQueueWriter.NO_OP, MoreExecutors.newDirectExecutorService(), CommitProfileProcessor.createNonLogging(metricsManager), true, () -> TRANSACTION_CONFIG); }
timelockService = new LegacyTimelockService(timestampService, lockService, lockClient); transactionService = TransactionServices.createForTesting(keyValueService, timestampService, false); conflictDetectionManager = ConflictDetectionManagers.createWithoutWarmingCache(keyValueService); sweepStrategyManager = SweepStrategyManagers.createDefault(keyValueService); txMgr = getManager();
final ConflictDetectionManager cdm2 = ConflictDetectionManagers.createWithNoConflictDetection(); final SweepStrategyManager ssm2 = SweepStrategyManagers.completelyConservative(kvs2); final MetricsManager metricsManager = final ConflictDetectionManager verifyCdm = ConflictDetectionManagers.createWithNoConflictDetection(); final SweepStrategyManager verifySsm = SweepStrategyManagers.completelyConservative(kvs2); final TestTransactionManagerImpl verifyTxManager = new TestTransactionManagerImpl(
/** * Creates a ConflictDetectionManager without warming the cache. */ public static ConflictDetectionManager createWithoutWarmingCache(KeyValueService kvs) { return create(kvs, false); }
@Before public void setup() { kvs = new InMemoryKeyValueService(true); InMemoryTimestampService tsService = new InMemoryTimestampService(); LockClient lockClient = LockClient.of("sweep client"); lockService = LockServiceImpl.create(LockServerOptions.builder().isStandaloneServer(false).build()); txService = TransactionServices.createForTesting(kvs, tsService, false); Supplier<AtlasDbConstraintCheckingMode> constraints = Suppliers.ofInstance( AtlasDbConstraintCheckingMode.NO_CONSTRAINT_CHECKING); ConflictDetectionManager cdm = ConflictDetectionManagers.createWithoutWarmingCache(kvs); SweepStrategyManager ssm = SweepStrategyManagers.createDefault(kvs); Cleaner cleaner = new NoOpCleaner(); metricsManager = MetricsManagers.createForTests(); TransactionManager transactionManager = SerializableTransactionManager.createForTest( metricsManager, kvs, tsService, tsService, lockClient, lockService, txService, constraints, cdm, ssm, cleaner, AbstractTransactionTest.GET_RANGES_THREAD_POOL_SIZE, AbstractTransactionTest.DEFAULT_GET_RANGES_CONCURRENCY, MultiTableSweepQueueWriter.NO_OP); txManager = transactionManager; }