mwkang opened a new pull request, #8469: URL: https://github.com/apache/hbase/pull/8469
See [HBASE-30285](https://issues.apache.org/jira/browse/HBASE-30285). `BucketCache` keeps an owner reference for each `BucketEntry` stored in `backingMap`. The existing shutdown and disable paths clear the cache without marking these entries as evicted, so their reference counts may never reach zero. This change: - stops writer threads before cleaning `ramCache` and `backingMap` - stops the persister and saves persistent metadata before releasing entries - releases each `backingMap` owner reference under its offset write lock - prevents new entries from being published after cache disable starts - performs cleanup asynchronously when an IO error disables the cache, avoiding writer self-join and offset lock upgrade deadlocks - shuts down the IO engine after cache cleanup completes - releases entries removed after persistent-cache read failures through the normal eviction path The tests cover retained caller references, in-flight writers, concurrent and repeated shutdown, persistent-cache recovery, and cache disable while a producer is waiting on a full writer queue. -- 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]
