[
https://issues.apache.org/jira/browse/HBASE-15832?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vladimir Rodionov updated HBASE-15832:
--------------------------------------
Attachment: HBASE-15832-v1.patch
Patch for master.
This patch adds CoprocessorHConnection new method to create connection with a
given executor service.
{code}
public static ClusterConnection
getConnectionForEnvironment(CoprocessorEnvironment env,
ExecutorService service)
{code}
> memory leak in FSHLog.
> ----------------------
>
> Key: HBASE-15832
> URL: https://issues.apache.org/jira/browse/HBASE-15832
> Project: HBase
> Issue Type: Bug
> Components: hbase
> Affects Versions: 1.1.2
> Reporter: Jeongdae Kim
> Assignee: Vladimir Rodionov
> 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 accupies about 4GB memory
> and has (almost all) entries holding hconnection's thread.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)