Class FileBlobStore
java.lang.Object
org.apache.jackrabbit.oak.spi.blob.AbstractBlobStore
org.apache.jackrabbit.oak.spi.blob.FileBlobStore
- All Implemented Interfaces:
AutoCloseable
,Cache.Backend<AbstractBlobStore.BlockId,
,AbstractBlobStore.Data> BlobStore
,GarbageCollectableBlobStore
A file blob store.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.jackrabbit.oak.spi.blob.AbstractBlobStore
AbstractBlobStore.BlockId, AbstractBlobStore.Data
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
Clear the cache.long
countDeleteChunks
(List<String> chunkIds, long maxLastModifiedTime) Deletes the blobs with the given ids.getAllChunkIds
(long maxLastModifiedTime) Gets all the identifiers.void
Start the mark phase.int
sweep()
Remove all unused blocks.Write a blob from a temporary file.Methods inherited from class org.apache.jackrabbit.oak.spi.blob.AbstractBlobStore
clearInUse, close, deleteChunks, getBlobId, getBlobLength, getBlockSize, getBlockSizeMin, getInputStream, getReference, load, readBlob, resolveChunks, setBlockSize, setBlockSizeMin, setReferenceKey, setReferenceKeyEncoded, setReferenceKeyPlainText, setStatsCollector, writeBlob, writeBlob
-
Constructor Details
-
FileBlobStore
-
-
Method Details
-
writeBlob
Description copied from interface:GarbageCollectableBlobStore
Write a blob from a temporary file. The temporary file is removed afterwards. A file based blob stores might simply rename the file, so that no additional writes are necessary.- Specified by:
writeBlob
in interfaceGarbageCollectableBlobStore
- Overrides:
writeBlob
in classAbstractBlobStore
- Parameters:
tempFilePath
- the temporary file name- Returns:
- the blob id
- Throws:
IOException
-
startMark
Description copied from interface:GarbageCollectableBlobStore
Start the mark phase.- Specified by:
startMark
in interfaceGarbageCollectableBlobStore
- Specified by:
startMark
in classAbstractBlobStore
- Throws:
IOException
-
sweep
Description copied from interface:GarbageCollectableBlobStore
Remove all unused blocks.- Specified by:
sweep
in interfaceGarbageCollectableBlobStore
- Specified by:
sweep
in classAbstractBlobStore
- Returns:
- the number of removed blocks
- Throws:
IOException
-
countDeleteChunks
Description copied from interface:GarbageCollectableBlobStore
Deletes the blobs with the given ids.- Parameters:
chunkIds
- the chunk idsmaxLastModifiedTime
- the max last modified time to consider for retrieval, with the special value '0' meaning no filtering by time- Returns:
- long the count of successful deletions
- Throws:
Exception
- the exception
-
getAllChunkIds
Description copied from interface:GarbageCollectableBlobStore
Gets all the identifiers.- Parameters:
maxLastModifiedTime
- the max last modified time to consider for retrieval, with the special value '0' meaning no filtering by time- Returns:
- the identifiers
- Throws:
Exception
- the exception
-
clearCache
public void clearCache()Description copied from interface:GarbageCollectableBlobStore
Clear the cache.
-