Interface PermanentBlobService

    • Method Detail

      • getFile

        File getFile​(JobID jobId,
                     PermanentBlobKey key)
              throws IOException
        Returns the path to a local copy of the file associated with the provided job ID and blob key.
        Parameters:
        jobId - ID of the job this blob belongs to
        key - BLOB key associated with the requested file
        Returns:
        The path to the file.
        Throws:
        FileNotFoundException - if the BLOB does not exist;
        IOException - if any other error occurs when retrieving the file
      • readFile

        default byte[] readFile​(JobID jobId,
                                PermanentBlobKey key)
                         throws IOException
        Returns the content of the file for the BLOB with the provided job ID the blob key.

        Compared to getFile, readFile will attempt to read the entire file after retrieving it. If file reading and file retrieving is done in the same WRITE lock, it can avoid the scenario that the path to the file is deleted concurrently by other threads when the file is retrieved but not read yet.

        Parameters:
        jobId - ID of the job this blob belongs to
        key - BLOB key associated with the requested file
        Returns:
        The content of the BLOB.
        Throws:
        FileNotFoundException - if the BLOB does not exist;
        IOException - if any other error occurs when retrieving the file.