Skip to content

Commit faa3a55

Browse files
Add entry to parquet metadata cache on file modificationTime
1 parent cf0ac07 commit faa3a55

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

presto-hive/src/test/java/com/facebook/presto/hive/parquet/AbstractTestParquetReader.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1701,8 +1701,8 @@ public void testCaching()
17011701
parquetMetadataSource,
17021702
tempFile.getFile(),
17031703
tempFileModificationTime);
1704-
assertEquals(parquetFileMetadataCache.stats().missCount(), 3);
1705-
assertEquals(parquetFileMetadataCache.stats().hitCount(), 4);
1704+
assertEquals(parquetFileMetadataCache.stats().missCount(), 2);
1705+
assertEquals(parquetFileMetadataCache.stats().hitCount(), 5);
17061706
}
17071707
}
17081708

presto-parquet/src/main/java/com/facebook/presto/parquet/cache/CachingParquetMetadataSource.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,12 +54,12 @@ public ParquetFileMetadata getParquetMetadata(
5454
ParquetFileMetadata fileMetadataCache = cache.get(
5555
parquetDataSource.getId(),
5656
() -> delegate.getParquetMetadata(parquetDataSource, fileSize, cacheable, modificationTime, fileDecryptor, readMaskedValue));
57-
if (fileMetadataCache.getModificationTime() == modificationTime) {
58-
return fileMetadataCache;
59-
}
60-
else {
57+
if (fileMetadataCache.getModificationTime() != modificationTime) {
6158
cache.invalidate(parquetDataSource.getId());
59+
fileMetadataCache = delegate.getParquetMetadata(parquetDataSource, fileSize, cacheable, modificationTime, fileDecryptor, readMaskedValue);
60+
cache.put(parquetDataSource.getId(), fileMetadataCache);
6261
}
62+
return fileMetadataCache;
6363
}
6464
return delegate.getParquetMetadata(parquetDataSource, fileSize, cacheable, modificationTime, fileDecryptor, readMaskedValue);
6565
}

0 commit comments

Comments
 (0)