public static File getStoreDirPath(String storeName, Config config, Map<String, SystemStream> activeTaskChangelogSystemStreams,
      Set<String> sideInputStoreNames, TaskName taskName, TaskModel taskModel, StorageManagerUtil storageManagerUtil,
      File loggedStoreBaseDirectory, File nonLoggedStoreBaseDirectory) {
    StorageConfig storageConfig = new StorageConfig(config);
    List<String> storeBackupManagers = storageConfig.getStoreBackupFactories(storeName);
    // A store is considered durable if it is backed by a changelog or another backupManager factory
    boolean isDurable = activeTaskChangelogSystemStreams.containsKey(storeName) || !storeBackupManagers.isEmpty();
    boolean isSideInput = sideInputStoreNames.contains(storeName);
    // Use the logged-store-base-directory for change logged stores and sideInput stores, and non-logged-store-base-dir
    // for non logged stores
    File storeBaseDir = isDurable || isSideInput ? loggedStoreBaseDirectory : nonLoggedStoreBaseDirectory;
    File storeDirectory = storageManagerUtil.getTaskStoreDir(storeBaseDir, storeName, taskName,
        taskModel.getTaskMode());
    return storeDirectory;
  }
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