racevedoo commented on a change in pull request #3801:
URL: https://github.com/apache/iceberg/pull/3801#discussion_r774784839
##########
File path: core/src/main/java/org/apache/iceberg/CachingCatalog.java
##########
@@ -86,33 +86,32 @@ protected CachingCatalog(Catalog catalog, boolean
caseSensitive, long expiration
}
/**
- * CacheWriter class for removing metadata tables when their associated data
table is expired
+ * RemovalListener class for removing metadata tables when their associated
data table is expired
* via cache expiration.
+ *
+ * @see com.github.benmanes.caffeine.cache.RemovalListener
*/
- class MetadataTableInvalidatingCacheWriter implements
CacheWriter<TableIdentifier, Table> {
+ class MetadataTableInvalidatingRemovalListener implements
RemovalListener<TableIdentifier, Table> {
@Override
- public void write(TableIdentifier tableIdentifier, Table table) {
- }
-
- @Override
- public void delete(TableIdentifier tableIdentifier, Table table,
RemovalCause cause) {
+ public void onRemoval(TableIdentifier tableIdentifier, Table table,
@NonNull RemovalCause cause) {
+ identLoggingRemovalListener.onRemoval(tableIdentifier, table, cause);
if (RemovalCause.EXPIRED.equals(cause)) {
- if (!MetadataTableUtils.hasMetadataTableName(tableIdentifier)) {
+ if (tableIdentifier != null &&
!MetadataTableUtils.hasMetadataTableName(tableIdentifier)) {
Review comment:
That's when the entry is GC'ed (according to caffeine javadocs:

Since we're dealing only with the `EXPIRED` cause, it's safe. I'll remove
this check
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]