@Override public void registerClosingCallback(Runnable closingCallback) { assertOpen(); txManager.registerClosingCallback(closingCallback); }
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; }
specificTableSweeper); transactionManager.registerClosingCallback(backgroundSweeper::shutdown); backgroundSweeper.runInBackground();
@Test public void runsClosingCallbackOnShutdown() throws Exception { AtlasDbConfig atlasDbConfig = ImmutableAtlasDbConfig.builder() .keyValueService(new InMemoryAtlasDbConfig()) .defaultLockTimeoutSeconds(120) .build(); Runnable callback = mock(Runnable.class); TransactionManager manager = TransactionManagers.builder() .config(atlasDbConfig) .userAgent("test") .globalMetricsRegistry(new MetricRegistry()) .globalTaggedMetricRegistry(DefaultTaggedMetricRegistry.getDefault()) .registrar(environment) .build() .serializable(); manager.registerClosingCallback(callback); manager.close(); verify(callback, times(1)).run(); }
@Override public void registerClosingCallback(Runnable closingCallback) { assertOpen(); txManager.registerClosingCallback(closingCallback); }
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; }
AtlasDbMetrics.instrument(metricsManager.getRegistry(), TransactionManager.class, transactionManager); instrumentedTransactionManager.registerClosingCallback(lockAndTimestampServices.close()); instrumentedTransactionManager.registerClosingCallback(targetedSweep::close); metricsManager, persistentLockService, config().getSweepPersistentLockWaitMillis()), closeables); instrumentedTransactionManager.registerClosingCallback(persistentLockManager::close);
specificTableSweeper); transactionManager.registerClosingCallback(backgroundSweeper::shutdown); backgroundSweeper.runInBackground();
AtlasDbMetrics.instrument(metricsManager.getRegistry(), TransactionManager.class, transactionManager); instrumentedTransactionManager.registerClosingCallback(lockAndTimestampServices.close()); instrumentedTransactionManager.registerClosingCallback(targetedSweep::close); metricsManager, persistentLockService, config().getSweepPersistentLockWaitMillis()), closeables); instrumentedTransactionManager.registerClosingCallback(persistentLockManager::close);