@VisibleForTesting
    public File getStorageLocation(JobID jobId, BlobKey key) throws IOException {
        checkNotNull(jobId);
        return BlobUtils.getStorageLocation(storageDir.deref(), jobId, key);
    }
@Test
    void permanentBlobCacheTimesOutRecoveredBlobs(@TempDir Path storageDirectory) throws Exception {
        final JobID jobId = new JobID();
        final PermanentBlobKey permanentBlobKey =
                TestingBlobUtils.writePermanentBlob(
                        storageDirectory, jobId, new byte[] {1, 2, 3, 4});
        final File blobFile =
                BlobUtils.getStorageLocation(storageDirectory.toFile(), jobId, permanentBlobKey);
        final Configuration configuration = new Configuration();
        final long cleanupInterval = 1L;
        configuration.set(BlobServerOptions.CLEANUP_INTERVAL, cleanupInterval);

        try (final PermanentBlobCache permanentBlobCache =
                new PermanentBlobCache(
                        configuration, storageDirectory.toFile(), new VoidBlobStore(), null)) {
            CommonTestUtils.waitUntilCondition(() -> !blobFile.exists());
        }
    }