Class ActiveFsChunkStorage<C>

java.lang.Object
io.activej.aggregation.ActiveFsChunkStorage<C>
All Implemented Interfaces:
AggregationChunkStorage<C>, io.activej.async.service.EventloopService, io.activej.common.initializer.WithInitializer<ActiveFsChunkStorage<C>>, io.activej.eventloop.jmx.EventloopJmxBean, io.activej.eventloop.jmx.EventloopJmxBeanWithStats, IdGenerator<C>

public final class ActiveFsChunkStorage<C> extends Object implements AggregationChunkStorage<C>, io.activej.async.service.EventloopService, io.activej.common.initializer.WithInitializer<ActiveFsChunkStorage<C>>, io.activej.eventloop.jmx.EventloopJmxBeanWithStats
  • Field Details

  • Method Details

    • create

      public static <C> ActiveFsChunkStorage<C> create(io.activej.eventloop.Eventloop eventloop, ChunkIdCodec<C> chunkIdCodec, IdGenerator<C> idGenerator, io.activej.csp.process.frames.FrameFormat frameFormat, ActiveFs fs)
    • withBufferSize

      public ActiveFsChunkStorage<C> withBufferSize(io.activej.common.MemSize bufferSize)
    • withChunksPath

      public ActiveFsChunkStorage<C> withChunksPath(String path)
    • withTempPath

      public ActiveFsChunkStorage<C> withTempPath(String path)
    • withBackupPath

      public ActiveFsChunkStorage<C> withBackupPath(String path)
    • read

      public <T> io.activej.promise.Promise<StreamSupplier<T>> read(AggregationStructure aggregation, List<String> fields, Class<T> recordClass, C chunkId, DefiningClassLoader classLoader)
      Description copied from interface: AggregationChunkStorage
      Creates a StreamSupplier that streams records contained in the chunk. The chunk to read is determined by aggregationId and id.
      Specified by:
      read in interface AggregationChunkStorage<C>
      recordClass - class of chunk record
      chunkId - id of chunk
      Returns:
      StreamSupplier, which will stream read records to its wired consumer.
    • write

      public <T> io.activej.promise.Promise<StreamConsumer<T>> write(AggregationStructure aggregation, List<String> fields, Class<T> recordClass, C chunkId, DefiningClassLoader classLoader)
      Description copied from interface: AggregationChunkStorage
      Creates a StreamConsumer that persists streamed records. The chunk to write is determined by aggregationId and id.
      Specified by:
      write in interface AggregationChunkStorage<C>
      fields - fields of chunk record
      recordClass - class of chunk record
      chunkId - id of chunk
    • finish

      public io.activej.promise.Promise<Void> finish(Set<C> chunkIds)
      Specified by:
      finish in interface AggregationChunkStorage<C>
    • createId

      public io.activej.promise.Promise<C> createId()
      Specified by:
      createId in interface IdGenerator<C>
    • backup

      public io.activej.promise.Promise<Void> backup(String backupId, Set<C> chunkIds)
    • cleanup

      public io.activej.promise.Promise<Void> cleanup(Set<C> saveChunks)
    • cleanup

      public io.activej.promise.Promise<Void> cleanup(Set<C> preserveChunks, @Nullable @Nullable Instant instant)
    • list

      public io.activej.promise.Promise<Set<C>> list(Predicate<C> chunkIdPredicate, LongPredicate lastModifiedPredicate)
    • checkRequiredChunks

      public io.activej.promise.Promise<Void> checkRequiredChunks(Set<C> requiredChunks)
    • getEventloop

      @NotNull public @NotNull io.activej.eventloop.Eventloop getEventloop()
      Specified by:
      getEventloop in interface io.activej.eventloop.jmx.EventloopJmxBean
      Specified by:
      getEventloop in interface io.activej.async.service.EventloopService
    • start

      @NotNull public @NotNull io.activej.promise.Promise<Void> start()
      Specified by:
      start in interface io.activej.async.service.EventloopService
    • stop

      @NotNull public @NotNull io.activej.promise.Promise<Void> stop()
      Specified by:
      stop in interface io.activej.async.service.EventloopService
    • getPromiseIdGenerator

      public io.activej.promise.jmx.PromiseStats getPromiseIdGenerator()
    • getPromiseFinishChunks

      public io.activej.promise.jmx.PromiseStats getPromiseFinishChunks()
    • getPromiseBackup

      public io.activej.promise.jmx.PromiseStats getPromiseBackup()
    • getPromiseCleanup

      public io.activej.promise.jmx.PromiseStats getPromiseCleanup()
    • getPromiseList

      public io.activej.promise.jmx.PromiseStats getPromiseList()
    • getPromiseOpenR

      public io.activej.promise.jmx.PromiseStats getPromiseOpenR()
    • getPromiseOpenW

      public io.activej.promise.jmx.PromiseStats getPromiseOpenW()
    • getReadFile

      public StreamStatsDetailed getReadFile()
    • getReadDecompress

      public StreamStatsDetailed getReadDecompress()
    • getReadDeserialize

      public StreamStatsBasic getReadDeserialize()
    • getReadDeserializeDetailed

      public StreamStatsDetailed getReadDeserializeDetailed()
    • getWriteSerialize

      public StreamStatsBasic getWriteSerialize()
    • getWriteSerializeDetailed

      public StreamStatsDetailed getWriteSerializeDetailed()
    • getWriteCompress

      public StreamStatsDetailed getWriteCompress()
    • getWriteChunker

      public StreamStatsDetailed getWriteChunker()
    • getWriteFile

      public StreamStatsDetailed getWriteFile()
    • getFinishChunks

      public int getFinishChunks()
    • getChunkNameWarnings

      public io.activej.jmx.stats.ExceptionStats getChunkNameWarnings()
    • getCleanupPreservedFiles

      public int getCleanupPreservedFiles()
    • getCleanupDeletedFiles

      public int getCleanupDeletedFiles()
    • getCleanupDeletedFilesTotal

      public int getCleanupDeletedFilesTotal()
    • getCleanupSkippedFiles

      public int getCleanupSkippedFiles()
    • getCleanupSkippedFilesTotal

      public int getCleanupSkippedFilesTotal()
    • getChunksCount

      public io.activej.jmx.stats.ValueStats getChunksCount()
    • getPromiseCleanupCheckRequiredChunks

      public io.activej.promise.jmx.PromiseStats getPromiseCleanupCheckRequiredChunks()
    • startDetailedMonitoring

      public void startDetailedMonitoring()
    • stopDetailedMonitoring

      public void stopDetailedMonitoring()
    • resetStats

      public void resetStats()
      Specified by:
      resetStats in interface io.activej.eventloop.jmx.EventloopJmxBeanWithStats