Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Duplicate
-
1.1.2
-
None
-
None
-
None
Description
FSHLog module uses a map to reuse SyncFuture objects, and assumes that this map will be used by RPC Handler threads only. but, in some cases, this assumption is wrong.
for example, if some coprocessors are registered, and these coprocessors uses CoprocessorHConnection insteadof HConnection, and request some puts/ or deletes throgh CoprocessorHConnection, all mutations will be handled by hconnection's batchPool, not RPC Handlers. because hconnection's batchPool is dynamically growing or shrinking, all new threads in hconnection are put to the map in FSHLog, and this map will grow continuously.
in attached image file, the map to reuse SyncFuture occupies about 4GB memory and has (almost all) entries holding hconnection's thread.
Attachments
Attachments
Issue Links
- is duplicated by
-
HBASE-21228 Memory leak since AbstractFSWAL caches Thread object and never clean later
- Resolved