public static Set<Path> getStoreDirPaths(Config config, Map<String, StorageEngineFactory<Object, Object>> storageEngineFactories,
      Map<String, SystemStream> activeTaskChangelogSystemStreams, Set<String> sideInputStoreNames,
      ContainerModel containerModel, StorageManagerUtil storageManagerUtil, File loggedStoreBaseDirectory,
      File nonLoggedStoreBaseDirectory) {
    Set<Path> storeDirectoryPaths = new HashSet<>();
    StorageConfig storageConfig = new StorageConfig(config);
    Set<String> storeNames = new HashSet<>();
    // Add all side input and regular stores
    storeNames.addAll(storageConfig.getStoreNames());
    // Add all in-memory store names
    storeNames.addAll(getInMemoryStoreNames(storageEngineFactories, config));

    for (String storeName : storeNames) {
      for (Map.Entry<TaskName, TaskModel> task : containerModel.getTasks().entrySet()) {
        File storeDirPath =
            getStoreDirPath(storeName, config, activeTaskChangelogSystemStreams, sideInputStoreNames, task.getKey(),
                task.getValue(), storageManagerUtil, loggedStoreBaseDirectory, nonLoggedStoreBaseDirectory);
        storeDirectoryPaths.add(storeDirPath.toPath());
      }
    }
    return storeDirectoryPaths;
  }
Fetch the side input stores. For active containers, the stores correspond to the side inputs and for standbys, they
include the durable stores.
@param sideInputSystemStreams the map of store to side input system streams
@param changelogSystemStreams the map of store to changelog system streams
@param containerModel the container's model
@return A set of side input stores
samza-core/src/main/scala/org/apache/samza/storage/ContainerStorageManagerUtil.java