Package cz.o2.proxima.direct.blob
Class BlobLogReader<BlobT extends BlobBase,BlobPathT extends BlobPath<BlobT>>
- java.lang.Object
-
- cz.o2.proxima.direct.blob.BlobLogReader<BlobT,BlobPathT>
-
- All Implemented Interfaces:
BatchLogReader
public abstract class BlobLogReader<BlobT extends BlobBase,BlobPathT extends BlobPath<BlobT>> extends java.lang.Object implements BatchLogReader
BatchLogReaderfor blob storages.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classBlobLogReader.BulkStoragePartition<BlobT extends BlobBase>static interfaceBlobLogReader.ThrowingRunnable-
Nested classes/interfaces inherited from interface cz.o2.proxima.direct.batch.BatchLogReader
BatchLogReader.Factory<T extends BatchLogReader>
-
-
Field Summary
Fields Modifier and Type Field Description private BlobStorageAccessoraccessorprivate Contextcontextprivate cz.o2.proxima.repository.EntityDescriptorentityprivate java.util.concurrent.ExecutorServiceexecutorprivate FileFormatfileFormatprivate FileSystemfsprivate NamingConventionnamingConventionprivate intpartitionMaxNumBlobsprivate longpartitionMaxTimeSpanprivate longpartitionMinSize
-
Constructor Summary
Constructors Modifier Constructor Description protectedBlobLogReader(BlobStorageAccessor accessor, Context context)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description private BlobLogReader.BulkStoragePartition<BlobT>considerBlobForPartitionInclusion(BlobT b, java.util.concurrent.atomic.AtomicInteger partitionId, BlobLogReader.BulkStoragePartition<BlobT> currentPartition, java.util.List<cz.o2.proxima.storage.Partition> resultingPartitions)protected abstract BlobPath<BlobT>createPath(BlobT blob)java.util.List<cz.o2.proxima.storage.Partition>getPartitions(long startStamp, long endStamp)ObserveHandleobserve(java.util.List<cz.o2.proxima.storage.Partition> partitions, java.util.List<cz.o2.proxima.repository.AttributeDescriptor<?>> attributes, BatchLogObserver observer)private voidobserveInternal(java.util.List<cz.o2.proxima.storage.Partition> partitions, java.util.List<cz.o2.proxima.repository.AttributeDescriptor<?>> attributes, BatchLogObserver observer, TerminationContext terminationContext)private voidprocessSinglePartition(cz.o2.proxima.storage.Partition partition, java.util.Set<cz.o2.proxima.repository.AttributeDescriptor<?>> attrs, TerminationContext terminationContext, java.util.concurrent.atomic.AtomicBoolean stopProcessing, BatchLogObserver observer)protected abstract voidrunHandlingErrors(BlobT blob, BlobLogReader.ThrowingRunnable runnable)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface cz.o2.proxima.direct.batch.BatchLogReader
asFactory, getPartitions, getPartitions, observeOffsets
-
-
-
-
Field Detail
-
entity
private final cz.o2.proxima.repository.EntityDescriptor entity
-
fs
private final FileSystem fs
-
fileFormat
private final FileFormat fileFormat
-
namingConvention
private final NamingConvention namingConvention
-
partitionMinSize
private final long partitionMinSize
-
partitionMaxNumBlobs
private final int partitionMaxNumBlobs
-
partitionMaxTimeSpan
private final long partitionMaxTimeSpan
-
executor
private final java.util.concurrent.ExecutorService executor
-
accessor
private final BlobStorageAccessor accessor
-
context
private final Context context
-
-
Constructor Detail
-
BlobLogReader
protected BlobLogReader(BlobStorageAccessor accessor, Context context)
-
-
Method Detail
-
getPartitions
public java.util.List<cz.o2.proxima.storage.Partition> getPartitions(long startStamp, long endStamp)- Specified by:
getPartitionsin interfaceBatchLogReader
-
considerBlobForPartitionInclusion
@Nullable private BlobLogReader.BulkStoragePartition<BlobT> considerBlobForPartitionInclusion(BlobT b, java.util.concurrent.atomic.AtomicInteger partitionId, @Nullable BlobLogReader.BulkStoragePartition<BlobT> currentPartition, java.util.List<cz.o2.proxima.storage.Partition> resultingPartitions)
-
observe
public ObserveHandle observe(java.util.List<cz.o2.proxima.storage.Partition> partitions, java.util.List<cz.o2.proxima.repository.AttributeDescriptor<?>> attributes, BatchLogObserver observer)
- Specified by:
observein interfaceBatchLogReader
-
observeInternal
private void observeInternal(java.util.List<cz.o2.proxima.storage.Partition> partitions, java.util.List<cz.o2.proxima.repository.AttributeDescriptor<?>> attributes, BatchLogObserver observer, TerminationContext terminationContext)
-
processSinglePartition
private void processSinglePartition(cz.o2.proxima.storage.Partition partition, java.util.Set<cz.o2.proxima.repository.AttributeDescriptor<?>> attrs, TerminationContext terminationContext, java.util.concurrent.atomic.AtomicBoolean stopProcessing, BatchLogObserver observer)
-
runHandlingErrors
protected abstract void runHandlingErrors(BlobT blob, BlobLogReader.ThrowingRunnable runnable) throws java.lang.Exception
- Throws:
java.lang.Exception
-
-