@Provides @Singleton public LockService provideLockService(TransactionManagers.LockAndTimestampServices lts) { return lts.lock(); }
private Optional<BackgroundCompactor> initializeCompactBackgroundProcess( MetricsManager metricsManager, LockAndTimestampServices lockAndTimestampServices, KeyValueService keyValueService, TransactionManager transactionManager, Supplier<CompactorConfig> compactorConfigSupplier) { Optional<BackgroundCompactor> backgroundCompactorOptional = BackgroundCompactor.createAndRun( metricsManager, transactionManager, keyValueService, lockAndTimestampServices.lock(), compactorConfigSupplier); backgroundCompactorOptional.ifPresent(backgroundCompactor -> transactionManager.registerClosingCallback(backgroundCompactor::close)); return backgroundCompactorOptional; }
lts.timelock(), lts.timestampManagement(), lts.lock(), transactionService, Suppliers.ofInstance(AtlasDbConstraintCheckingMode.FULL_CONSTRAINT_CHECKING_THROWS_EXCEPTIONS),
lockAndTimestampServices.timelock(), lockAndTimestampServices.timestampManagement(), lockAndTimestampServices.lock(), transactionService, Suppliers.ofInstance(AtlasDbConstraintCheckingMode.FULL_CONSTRAINT_CHECKING_THROWS_EXCEPTIONS),
.from(lockAndTimestampServices) .timelock(timeLockClient) .lock(LockRefreshingLockService.create(lockAndTimestampServices.lock())) .close(timeLockClient::close) .build();
lts.timelock(), lts.timestampManagement(), lts.lock(), transactionService, Suppliers.ofInstance(AtlasDbConstraintCheckingMode.FULL_CONSTRAINT_CHECKING_THROWS_EXCEPTIONS),
lts.timelock(), lts.timestampManagement(), lts.lock(), transactionService, Suppliers.ofInstance(AtlasDbConstraintCheckingMode.FULL_CONSTRAINT_CHECKING_THROWS_EXCEPTIONS),
private Optional<BackgroundCompactor> initializeCompactBackgroundProcess( MetricsManager metricsManager, LockAndTimestampServices lockAndTimestampServices, KeyValueService keyValueService, TransactionManager transactionManager, Supplier<CompactorConfig> compactorConfigSupplier) { Optional<BackgroundCompactor> backgroundCompactorOptional = BackgroundCompactor.createAndRun( metricsManager, transactionManager, keyValueService, lockAndTimestampServices.lock(), compactorConfigSupplier); backgroundCompactorOptional.ifPresent(backgroundCompactor -> transactionManager.registerClosingCallback(backgroundCompactor::close)); return backgroundCompactorOptional; }
@Provides @Singleton public LockService provideLockService(TransactionManagers.LockAndTimestampServices lts) { return lts.lock(); }
private static LockAndTimestampServices withRefreshingLockService( LockAndTimestampServices lockAndTimestampServices) { TimeLockClient timeLockClient = TimeLockClient.createDefault(lockAndTimestampServices.timelock()); return ImmutableLockAndTimestampServices.builder() .from(lockAndTimestampServices) .timestamp(new TimelockTimestampServiceAdapter(timeLockClient)) .timelock(timeLockClient) .lock(LockRefreshingLockService.create(lockAndTimestampServices.lock())) .close(timeLockClient::close) .build(); }
lockAndTimestampServices.timelock(), lockAndTimestampServices.timestampManagement(), lockAndTimestampServices.lock(), transactionService, Suppliers.ofInstance(AtlasDbConstraintCheckingMode.FULL_CONSTRAINT_CHECKING_THROWS_EXCEPTIONS),
.from(lockAndTimestampServices) .timelock(timeLockClient) .lock(LockRefreshingLockService.create(lockAndTimestampServices.lock())) .close(timeLockClient::close) .build();
lts.timelock(), lts.timestampManagement(), lts.lock(), transactionService, Suppliers.ofInstance(AtlasDbConstraintCheckingMode.FULL_CONSTRAINT_CHECKING_THROWS_EXCEPTIONS),
@Test public void remoteCallsElidedIfTalkingToLocalServer() throws IOException, InterruptedException { setUpForLocalServices(); setUpLeaderBlockInConfig(); TransactionManagers.LockAndTimestampServices lockAndTimestamp = getLockAndTimestampServices(); availableServer.verify(getRequestedFor(urlMatching(LEADER_UUID_PATH))); lockAndTimestamp.timelock().getFreshTimestamp(); lockAndTimestamp.lock().currentTimeMillis(); availableServer.verify(0, postRequestedFor(urlMatching(TIMESTAMP_PATH)) .withHeader(USER_AGENT_HEADER, WireMock.equalTo(USER_AGENT))); availableServer.verify(0, postRequestedFor(urlMatching(LOCK_PATH)) .withHeader(USER_AGENT_HEADER, WireMock.equalTo(USER_AGENT))); }
@Test public void remoteCallsStillMadeIfPingableLeader404s() throws IOException, InterruptedException { setUpForRemoteServices(); setUpLeaderBlockInConfig(); TransactionManagers.LockAndTimestampServices lockAndTimestamp = getLockAndTimestampServices(); availableServer.verify(getRequestedFor(urlMatching(LEADER_UUID_PATH))); lockAndTimestamp.timelock().getFreshTimestamp(); lockAndTimestamp.lock().currentTimeMillis(); availableServer.verify(postRequestedFor(urlMatching(TIMESTAMP_PATH)) .withHeader(USER_AGENT_HEADER, WireMock.equalTo(USER_AGENT))); availableServer.verify(postRequestedFor(urlMatching(LOCK_PATH)) .withHeader(USER_AGENT_HEADER, WireMock.equalTo(USER_AGENT))); }
private static LockAndTimestampServices withRefreshingLockService( LockAndTimestampServices lockAndTimestampServices) { TimeLockClient timeLockClient = TimeLockClient.createDefault(lockAndTimestampServices.timelock()); return ImmutableLockAndTimestampServices.builder() .from(lockAndTimestampServices) .timestamp(new TimelockTimestampServiceAdapter(timeLockClient)) .timelock(timeLockClient) .lock(LockRefreshingLockService.create(lockAndTimestampServices.lock())) .close(timeLockClient::close) .build(); }