Interface GarbageCollectableBlobStore

    • Method Detail

      • setBlockSize

        void setBlockSize​(int x)
        Set the block size used by this blob store, if the blob store splits binaries into blocks. If not, this setting is ignored.
        Parameters:
        x - the block size in bytes.
      • writeBlob

        String writeBlob​(String tempFileName)
                  throws IOException
        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.
        Parameters:
        tempFileName - the temporary file name
        Returns:
        the blob id
        Throws:
        IOException
      • sweep

        int sweep()
           throws IOException
        Remove all unused blocks.
        Returns:
        the number of removed blocks
        Throws:
        IOException
      • clearInUse

        void clearInUse()
        Clear all objects marked as "transiently in use".
      • clearCache

        void clearCache()
        Clear the cache.
      • getBlockSizeMin

        long getBlockSizeMin()
        Get the minimum block size (if there is any).
        Returns:
        the block size
      • getAllChunkIds

        Iterator<String> getAllChunkIds​(long maxLastModifiedTime)
                                 throws Exception
        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
      • deleteChunks

        @Deprecated
        boolean deleteChunks​(List<String> chunkIds,
                             long maxLastModifiedTime)
                      throws Exception
        Deprecated.
        Deletes the blobs with the given ids.
        Parameters:
        chunkIds - the chunk ids
        maxLastModifiedTime - the max last modified time to consider for retrieval, with the special value '0' meaning no filtering by time
        Returns:
        true, if successful
        Throws:
        Exception - the exception
      • countDeleteChunks

        long countDeleteChunks​(List<String> chunkIds,
                               long maxLastModifiedTime)
                        throws Exception
        Deletes the blobs with the given ids.
        Parameters:
        chunkIds - the chunk ids
        maxLastModifiedTime - 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
      • resolveChunks

        Iterator<String> resolveChunks​(String blobId)
                                throws IOException
        Resolve chunks stored in the blob store from the given Id. This will not return any chunks stored in-line in the id.
        Parameters:
        blobId - the blob id
        Returns:
        the iterator
        Throws:
        IOException - Signals that an I/O exception has occurred.