Class TransactionScopeCachingDirectoryLister
java.lang.Object
io.trino.plugin.hive.fs.TransactionScopeCachingDirectoryLister
- All Implemented Interfaces:
DirectoryLister,TableInvalidationCallback
Caches directory content (including listings that were started concurrently).
TransactionScopeCachingDirectoryLister assumes that all listings
are performed by same user within single transaction, therefore any failure can
be shared between concurrent listings.-
Constructor Summary
ConstructorsConstructorDescriptionTransactionScopeCachingDirectoryLister(DirectoryLister delegate, long transactionId, com.google.common.cache.Cache<TransactionDirectoryListingCacheKey, io.trino.plugin.hive.fs.TransactionScopeCachingDirectoryLister.FetchingValueHolder> cache) -
Method Summary
Modifier and TypeMethodDescriptionvoidinvalidate(Location location) voidinvalidate(Partition partition) voidinvalidate(Table table) voidbooleanlistFilesRecursively(TrinoFileSystem fs, Table table, Location location)
-
Constructor Details
-
TransactionScopeCachingDirectoryLister
public TransactionScopeCachingDirectoryLister(DirectoryLister delegate, long transactionId, com.google.common.cache.Cache<TransactionDirectoryListingCacheKey, io.trino.plugin.hive.fs.TransactionScopeCachingDirectoryLister.FetchingValueHolder> cache)
-
-
Method Details
-
listFilesRecursively
public RemoteIterator<TrinoFileStatus> listFilesRecursively(TrinoFileSystem fs, Table table, Location location) throws IOException - Specified by:
listFilesRecursivelyin interfaceDirectoryLister- Throws:
IOException
-
invalidate
- Specified by:
invalidatein interfaceTableInvalidationCallback
-
invalidate
- Specified by:
invalidatein interfaceTableInvalidationCallback
-
invalidate
- Specified by:
invalidatein interfaceTableInvalidationCallback
-
invalidateAll
public void invalidateAll()- Specified by:
invalidateAllin interfaceTableInvalidationCallback
-
isCached
- Specified by:
isCachedin interfaceTableInvalidationCallback
-