[ https://issues.apache.org/jira/browse/HBASE-15832?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sean Busbey updated HBASE-15832: -------------------------------- Resolution: Duplicate Assignee: (was: Vladimir Rodionov) Status: Resolved (was: Patch Available) fixed by HBASE-21228 > memory leak in FSHLog. > ---------------------- > > Key: HBASE-15832 > URL: https://issues.apache.org/jira/browse/HBASE-15832 > Project: HBase > Issue Type: Bug > Affects Versions: 1.1.2 > Reporter: Jeongdae Kim > Priority: Major > Attachments: HBASE-15832-v1.patch, Screenshot-Java - > -home-jeongdae-work-regionserver_jmap_104p_sn5_20160509-sn5_heap.hprof - > Eclipse -1.png > > > 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. -- This message was sent by Atlassian JIRA (v7.6.3#76005)