com.palantir.atlasdb.transaction.api.TransactionManager类的使用及代码示例

x33g5p2x  于2022-01-30 转载在 其他  
字(8.3k)|赞(0)|评价(0)|浏览(132)

本文整理了Java中com.palantir.atlasdb.transaction.api.TransactionManager类的一些代码示例,展示了TransactionManager类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。TransactionManager类的具体详情如下:
包路径:com.palantir.atlasdb.transaction.api.TransactionManager
类名称:TransactionManager

TransactionManager介绍

暂无

代码示例

代码示例来源:origin: palantir/atlasdb

  1. public static TransactionManager mockTxManager() {
  2. TransactionManager txManager = mock(TransactionManager.class);
  3. Answer runTaskAnswer = inv -> {
  4. Object[] args = inv.getArguments();
  5. TransactionTask<?, ?> task = (TransactionTask<?, ?>) args[0];
  6. return task.execute(mock(Transaction.class));
  7. };
  8. doAnswer(runTaskAnswer).when(txManager).runTaskReadOnly(any());
  9. doAnswer(runTaskAnswer).when(txManager).runTaskWithRetry(any());
  10. return txManager;
  11. }

代码示例来源:origin: palantir/atlasdb

  1. @Test
  2. public void shouldNotRunTaskWithRetryWithClosedTransactionManager() {
  3. txMgr.close();
  4. assertThatThrownBy(() -> txMgr.runTaskWithRetry((TransactionTask<Void, RuntimeException>) txn -> {
  5. put(txn, "row1", "col1", "v1");
  6. return null;
  7. }))
  8. .isInstanceOf(IllegalStateException.class)
  9. .hasMessage("Operations cannot be performed on closed TransactionManager.");
  10. }

代码示例来源:origin: palantir/atlasdb

  1. protected final void storeMetadataAndIndex(final long streamId, final StreamMetadata metadata) {
  2. Preconditions.checkNotNull(txnMgr, "Transaction manager must not be null");
  3. txnMgr.runTaskThrowOnConflict((TxTask) tx -> {
  4. putMetadataAndHashIndexTask(tx, streamId, metadata);
  5. return null;
  6. });
  7. }

代码示例来源:origin: palantir/atlasdb

  1. public void initializeWithoutRunning(TransactionManager txManager) {
  2. initializeWithoutRunning(SpecialTimestampsSupplier.create(txManager),
  3. txManager.getTimelockService(),
  4. txManager.getKeyValueService(),
  5. TransactionServices.createTransactionService(txManager.getKeyValueService(),
  6. CoordinationServices.createDefault(
  7. txManager.getKeyValueService(),
  8. txManager.getTimestampService(),
  9. false)),
  10. new TargetedSweepFollower(followers, txManager));
  11. }

代码示例来源:origin: palantir/atlasdb

  1. private boolean isInitializedInternal() {
  2. // Note that the PersistentLockService is also initialized asynchronously as part of
  3. // TransactionManagers.create; however, this is not required for the TransactionManager to fulfil
  4. // requests (note that it is not accessible from any TransactionManager implementation), so we omit
  5. // checking here whether it is initialized.
  6. return txManager.getKeyValueService().isInitialized()
  7. && txManager.getTimelockService().isInitialized()
  8. && txManager.getTimestampService().isInitialized()
  9. && txManager.getCleaner().isInitialized()
  10. && initializationPrerequisite.get();
  11. }

代码示例来源:origin: palantir/atlasdb

  1. @Override
  2. public boolean doTransactionAndReportOutcome() {
  3. try {
  4. return transactionManager.runTaskThrowOnConflict(tx -> {
  5. KeyValueService kvs = transactionManager.getKeyValueService();
  6. kvs.createTable(TEST_TABLE, AtlasDbConstants.GENERIC_TABLE_METADATA);
  7. tx.put(TEST_TABLE, ImmutableMap.of(TEST_CELL, new byte[1]));
  8. return true;
  9. });
  10. } catch (Exception e) {
  11. return false;
  12. }
  13. }

代码示例来源:origin: palantir/atlasdb

  1. private void validateTable(final TableReference table, final int limit, final Transaction t1) {
  2. // read only, but need to use a write tx in case the source table has SweepStrategy.THOROUGH
  3. validationToTransactionManager.runTaskWithRetry(
  4. (TransactionTask<Map<Cell, byte[]>, RuntimeException>) t2 -> {
  5. validateTable(table, limit, t1, t2);
  6. return null;
  7. });
  8. }

代码示例来源:origin: palantir/atlasdb

  1. Optional<String> selectTableToCompact() {
  2. return transactionManager.runTaskReadOnly(this::selectTableToCompactInternal);
  3. }

代码示例来源:origin: palantir/atlasdb

  1. @Override
  2. public void init(TransactionManager resource) {
  3. try {
  4. resource.getKeyValueService().dropTables(deprecatedTables);
  5. log.info("Successfully dropped deprecated tables on startup.");
  6. } catch (Throwable e) {
  7. log.info("Could not drop deprecated tables from the underlying KeyValueService.", e);
  8. }
  9. }

代码示例来源:origin: palantir/atlasdb

  1. @After
  2. public void closeTransactionManager() {
  3. txManager.close();
  4. }

代码示例来源:origin: palantir/atlasdb

  1. @Test
  2. public void shouldNotRunTaskReadOnlyWithClosedTransactionManager() {
  3. txMgr.close();
  4. assertThatThrownBy(() -> txMgr.runTaskReadOnly((TransactionTask<Void, RuntimeException>) txn -> {
  5. put(txn, "row1", "col1", "v1");
  6. return null;
  7. }))
  8. .isInstanceOf(IllegalStateException.class)
  9. .hasMessage("Operations cannot be performed on closed TransactionManager.");
  10. }

代码示例来源:origin: palantir/atlasdb

  1. public static CoordinationResource create(TransactionManager transactionManager) {
  2. return new SimpleCoordinationResource(transactionManager,
  3. new TransactionSchemaManager(
  4. CoordinationServices.createDefault(
  5. transactionManager.getKeyValueService(),
  6. transactionManager.getTimestampService(),
  7. false)));
  8. }

代码示例来源:origin: palantir/atlasdb

  1. @Test
  2. public void shouldNotRunTaskThrowOnConflictWithClosedTransactionManager() {
  3. txMgr.close();
  4. assertThatThrownBy(() -> txMgr.runTaskThrowOnConflict((TransactionTask<Void, RuntimeException>) txn -> {
  5. put(txn, "row1", "col1", "v1");
  6. return null;
  7. }))
  8. .isInstanceOf(IllegalStateException.class)
  9. .hasMessage("Operations cannot be performed on closed TransactionManager.");
  10. }

代码示例来源:origin: palantir/atlasdb

  1. @Override
  2. public void registerClosingCallback(Runnable closingCallback) {
  3. assertOpen();
  4. txManager.registerClosingCallback(closingCallback);
  5. }

代码示例来源:origin: palantir/atlasdb

  1. @Test
  2. public void runsClosingCallbackOnShutdown() throws Exception {
  3. AtlasDbConfig atlasDbConfig = ImmutableAtlasDbConfig.builder()
  4. .keyValueService(new InMemoryAtlasDbConfig())
  5. .defaultLockTimeoutSeconds(120)
  6. .build();
  7. Runnable callback = mock(Runnable.class);
  8. TransactionManager manager = TransactionManagers.builder()
  9. .config(atlasDbConfig)
  10. .userAgent("test")
  11. .globalMetricsRegistry(new MetricRegistry())
  12. .globalTaggedMetricRegistry(DefaultTaggedMetricRegistry.getDefault())
  13. .registrar(environment)
  14. .build()
  15. .serializable();
  16. manager.registerClosingCallback(callback);
  17. manager.close();
  18. verify(callback, times(1)).run();
  19. }

代码示例来源:origin: palantir/atlasdb

  1. private SimpleCoordinationResource(
  2. TransactionManager transactionManager,
  3. TransactionSchemaManager transactionSchemaManager) {
  4. this.transactionManager = transactionManager;
  5. this.transactionSchemaManager = transactionSchemaManager;
  6. this.timestampService = transactionManager.getTimestampService();
  7. }

代码示例来源:origin: palantir/atlasdb

  1. @Test
  2. public void shouldNotMakeRemoteCallsInAReadonlyTransactionIfNoWorkIsDone() {
  3. TimestampService mockTimestampService = mock(TimestampService.class);
  4. TimestampManagementService mockTimestampManagementService = mock(TimestampManagementService.class);
  5. LockService mockLockService = mock(LockService.class);
  6. TransactionManager txnManagerWithMocks = SerializableTransactionManager.createForTest(
  7. metricsManager,
  8. getKeyValueService(),
  9. mockTimestampService, mockTimestampManagementService,
  10. LockClient.of("foo"), mockLockService, transactionService,
  11. () -> AtlasDbConstraintCheckingMode.FULL_CONSTRAINT_CHECKING_THROWS_EXCEPTIONS,
  12. conflictDetectionManager, sweepStrategyManager, NoOpCleaner.INSTANCE,
  13. AbstractTransactionTest.GET_RANGES_THREAD_POOL_SIZE,
  14. AbstractTransactionTest.DEFAULT_GET_RANGES_CONCURRENCY,
  15. MultiTableSweepQueueWriter.NO_OP);
  16. // fetch an immutable timestamp once so it's cached
  17. when(mockTimestampService.getFreshTimestamp()).thenReturn(1L);
  18. when(mockLockService.getMinLockedInVersionId("foo")).thenReturn(1L);
  19. txnManagerWithMocks.getImmutableTimestamp();
  20. verify(mockTimestampService).getFreshTimestamp();
  21. verify(mockLockService).getMinLockedInVersionId("foo");
  22. // now execute a read transaction
  23. txnManagerWithMocks.runTaskReadOnly(txn -> null);
  24. verifyNoMoreInteractions(mockLockService);
  25. verifyNoMoreInteractions(mockTimestampService);
  26. verifyNoMoreInteractions(mockTimestampManagementService);
  27. }

代码示例来源:origin: palantir/atlasdb

  1. @Override
  2. public LockService getLockService() {
  3. assertOpen();
  4. return txManager.getLockService();
  5. }

代码示例来源:origin: palantir/atlasdb

  1. @Override
  2. public final void performOneCall() {
  3. txnManager.runTaskWithRetry(txn -> {
  4. writeValues(txn, allValues);
  5. return null;
  6. });
  7. }

代码示例来源:origin: palantir/atlasdb

  1. private TargetedSweeper initializeAndGet(TargetedSweeper sweeper, TransactionManager txManager) {
  2. sweeper.initializeWithoutRunning(
  3. new SpecialTimestampsSupplier(txManager::getImmutableTimestamp, txManager::getImmutableTimestamp),
  4. txManager.getTimelockService(),
  5. txManager.getKeyValueService(),
  6. TransactionServices.createForTesting(
  7. txManager.getKeyValueService(), txManager.getTimestampService(), false),
  8. new TargetedSweepFollower(ImmutableList.of(FOLLOWER), txManager));
  9. sweeper.runInBackground();
  10. return sweeper;
  11. }

相关文章