public void update(JobID jobId, BlobKey blobKey) {
        checkNotNull(jobId);
        checkNotNull(blobKey);

        synchronized (lock) {
            caches.get(Tuple2.of(jobId, blobKey));
        }
    }
@Test
    void testUpdate() {
        BlobCacheSizeTracker tracker = new BlobCacheSizeTracker(5L);
        List<JobID> jobIds = new ArrayList<>();
        List<BlobKey> blobKeys = new ArrayList<>();
        for (int i = 0; i < 5; i++) {
            jobIds.add(new JobID());
            blobKeys.add(BlobKey.createKey(BlobType.PERMANENT_BLOB));
        }
        for (int i = 0; i < 5; i++) {
            tracker.track(jobIds.get(i), blobKeys.get(i), 1);
        }
        tracker.update(jobIds.get(1), blobKeys.get(1));
        tracker.update(jobIds.get(2), blobKeys.get(2));

        List<Tuple2<JobID, BlobKey>> blobsToDelete = tracker.checkLimit(2);

        assertThat(blobsToDelete)
                .contains(
                        Tuple2.of(jobIds.get(0), blobKeys.get(0)),
                        Tuple2.of(jobIds.get(3), blobKeys.get(3)));
    }