/** * Stop all stores. */ public void stop() { this.taskStores.values().forEach(storageEngine -> { storageEngine.stop(); }); }
@VisibleForTesting public void stopStores() { this.taskStores.forEach((taskName, storeMap) -> storeMap.forEach((storeName, store) -> store.stop())); }
/** * Stop only persistent stores. In case of certain stores and store mode (such as RocksDB), this * can invoke compaction. */ public void stopPersistentStores() { this.taskStores.values().stream().filter(storageEngine -> { return storageEngine.getStoreProperties().isPersistedToDisk(); }).forEach(storageEngine -> { storageEngine.stop(); }); } }
@Test public void testStop() { final String storeName = "test-stop-store"; final String taskName = "test-stop-task"; TaskSideInputStorageManager testSideInputStorageManager = new MockTaskSideInputStorageManagerBuilder(taskName, NON_LOGGED_STORE_DIR) .addInMemoryStore(storeName, ImmutableSet.of()) .build(); initializeSideInputStorageManager(testSideInputStorageManager); testSideInputStorageManager.stop(); verify(testSideInputStorageManager.getStore(storeName)).stop(); verify(testSideInputStorageManager).writeOffsetFiles(); }