use of io.pravega.segmentstore.server.reading.ContainerReadIndexFactory in project pravega by pravega.
the class DebugRecoveryProcessor method create.
/**
* Creates a new instance of the DebugRecoveryProcessor class with the given arguments.
*
* @param containerId The Id of the Container to recover.
* @param durableDataLog A DurableDataLog to recover from.
* @param config A ContainerConfig to use during recovery.
* @param readIndexConfig A ReadIndexConfig to use during recovery.
* @param executor An Executor to use for background tasks.
* @param callbacks Callbacks to invoke during recovery.
* @return A new instance of the DebugRecoveryProcessor.
*/
public static DebugRecoveryProcessor create(int containerId, DurableDataLog durableDataLog, ContainerConfig config, ReadIndexConfig readIndexConfig, ScheduledExecutorService executor, OperationCallbacks callbacks) {
Preconditions.checkNotNull(durableDataLog, "durableDataLog");
Preconditions.checkNotNull(config, "config");
Preconditions.checkNotNull(readIndexConfig, "readIndexConfig");
Preconditions.checkNotNull(executor, "executor");
Preconditions.checkNotNull(callbacks, callbacks);
StreamSegmentContainerMetadata metadata = new StreamSegmentContainerMetadata(containerId, config.getMaxActiveSegmentCount());
CacheManager cacheManager = new CacheManager(new CachePolicy(Long.MAX_VALUE, Duration.ofHours(10), Duration.ofHours(1)), new NoOpCache(), executor);
cacheManager.startAsync().awaitRunning();
ContainerReadIndexFactory rf = new ContainerReadIndexFactory(readIndexConfig, cacheManager, executor);
Storage s = new InMemoryStorageFactory(executor).createStorageAdapter();
return new DebugRecoveryProcessor(metadata, durableDataLog, rf, s, cacheManager, callbacks);
}
use of io.pravega.segmentstore.server.reading.ContainerReadIndexFactory in project pravega by pravega.
the class ServiceBuilder method createReadIndexFactory.
protected ReadIndexFactory createReadIndexFactory() {
CacheFactory cacheFactory = getSingleton(this.cacheFactory, this.cacheFactoryCreator);
ReadIndexConfig readIndexConfig = this.serviceBuilderConfig.getConfig(ReadIndexConfig::builder);
return new ContainerReadIndexFactory(readIndexConfig, cacheFactory, this.coreExecutor);
}
Aggregations