Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
0.96.0, 0.94.14
-
None
-
Reviewed
Description
This was observed in a cluster where HBase Master UI was not monitored for quite a while. During this period, a distributed log spitting task failed in an in-completable way and Master kept recreating the task over and over again.
And each such task would create a monitored status...
SplitLogManager.java
....... public long splitLogDistributed(final List<Path> logDirs, PathFilter filter) throws IOException { MonitoredTask status = TaskMonitor.get().createStatus( "Doing distributed log split in " + logDirs); .......
...which kept accumulating on heap.
Now these monitored tasks get cleaned only when someone looks at the service UI otherwise they keep growing boundless.
The postmortem of the heap dump showed that these task object occupied 99% of HBase master heap accumulated over a week.