cache service: don't skip already up to date archives

This commit is contained in:
Adam
2018-01-19 10:31:53 -05:00
parent 36acbebd1b
commit 244cce506c
3 changed files with 17 additions and 1 deletions

View File

@@ -279,6 +279,10 @@ public class CacheClient implements AutoCloseable
{
logger.debug("Archive {}/{} in index {} is up to date",
ad.getId(), indexData.getArchives().length, index.getId());
if (watcher != null)
{
watcher.alreadyUpToDate(existing);
}
continue;
}

View File

@@ -31,5 +31,7 @@ public interface DownloadWatcher
{
void indexComplete(Index index);
void alreadyUpToDate(Archive archive);
void downloadComplete(Archive archive, byte[] data);
}

View File

@@ -65,7 +65,7 @@ public class CacheUpdater
private final Sql2o sql2o;
private final MinioClient minioClient;
@Value("${minio.bucket}")
private String minioBucket;
@@ -116,11 +116,21 @@ public class CacheUpdater
indexEntryMap.put(index, entry);
}
@Override
public void alreadyUpToDate(Archive archive)
{
updateArchive(archive);
}
@Override
public void downloadComplete(Archive archive, byte[] data)
{
executor.submit(new CacheUploader(minioClient, minioBucket, archive, data));
updateArchive(archive);
}
private void updateArchive(Archive archive)
{
IndexEntry entry = indexEntryMap.get(archive.getIndex());
ArchiveEntry archiveEntry = cacheDao.findArchive(con, entry, archive.getArchiveId(),
archive.getNameHash(), archive.getCrc(), archive.getRevision());