[
https://issues.apache.org/jira/browse/HBASE-23918?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mark Robert Miller resolved HBASE-23918.
----------------------------------------
Resolution: Information Provided
So I use a tool like this when I'm tacking things to close - I just cut and
paste it in when I'm hunting for closeable objects that are either not closed
or missed due to concurrency or a bug or whatever.
It's more controversial to use asserts like this in tests permanently, so I'll
just leave this with the seed idea for some kind of auto shutdown/close
enforcement options above the current hmaster/regionserver thread checker.
> Track sensitive resources to ensure they are closed and assist devs in
> finding leaks.
> -------------------------------------------------------------------------------------
>
> Key: HBASE-23918
> URL: https://issues.apache.org/jira/browse/HBASE-23918
> Project: HBase
> Issue Type: Improvement
> Reporter: Mark Robert Miller
> Priority: Major
>
> Closing some objects is quite critical. Issues with leaks can be quite
> slippery and nasty and growy. Maintaining close integrity is an embarrassing
> sport for humans.
> In the past, those 3 thoughts led me to start tracking objects in tests to
> alert of leaks. Even with an alert though, the job of tracking down all of
> the leaks just based on what leaked was beyond my skill. If it's beyond even
> one devs skill that is committing, that tends to end up trouble. So I added
> the stack trace for the origin of the object. Things can still get a bit
> tricky to track down in some cases, but now I had the start of a real
> solution to all of the whack-a-mole games I spent too much time playing.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)