racevedoo commented on issue #3791: URL: https://github.com/apache/iceberg/issues/3791#issuecomment-999759477
I investigated this a little, and found that in 9c3e340c we added `MetadataTableInvalidatingCacheWriter`. From my understanding, I think it introduces additional writes to the cache in the `tableCache.get` trace called by `loadTable`. This probably violates an assumption made by caffeine's `Cache` class (that `get` calls do not change additional entries) - see javadoc (https://github.com/ben-manes/caffeine/blob/v2.8.4/caffeine/src/main/java/com/github/benmanes/caffeine/cache/Cache.java#L55-L68) This causes the a deadlock between 2 threads: the procedure call thread (`HiveServer2-Background-Pool: Thread-1682` in the trace) trying to invalidate cache entries while caffeine's `PerformCleanupTask` (`ForkJoinPool.commonPool-worker-13` in the trace) is trying to cleanup the cache due to ttl expiration. -- 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]
