You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Samarth Jain (JIRA)" <ji...@apache.org> on 2016/12/08 08:39:58 UTC
[jira] [Updated] (PHOENIX-3518) Memory Leak in RenewLeaseTask
[ https://issues.apache.org/jira/browse/PHOENIX-3518?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Samarth Jain updated PHOENIX-3518:
----------------------------------
Attachment: PHOENIX-3518.patch
Patch to fix a possible memory leak that happens when RenewLeaseTask dies because of an exception. [~jleech] - would you mind trying out this patch and see if it fixes the memory leak for you?
[~jamestaylor], please review.
> Memory Leak in RenewLeaseTask
> -----------------------------
>
> Key: PHOENIX-3518
> URL: https://issues.apache.org/jira/browse/PHOENIX-3518
> Project: Phoenix
> Issue Type: Bug
> Affects Versions: 4.7.0
> Environment: 5.7.1-1.cdh5.7.1.p0.11 + jdk1.7.0_67
> 4.7.0-1.clabs_phoenix1.3.0.p0.000
> CentOS Linux release 7.0.1406 (Core)
> apache-tomcat-8.5.4 + jdk1.8.0_102
> Reporter: Jonathan Leech
> Attachments: PHOENIX-3518.patch
>
>
> Looks like PHOENIX-2357 introduced a memory leak, at least for me... I end up with old gen filled up with objects - 100,000,000 instances each of WeakReference and LinkedBlockingQueue$Node, owned by ConnectionQueryServicesImpl.connectionsQueue. The PhoenixConnection referred to by the WeakReference is null for all but the few active connections. I don't see anything in the log - I can't confirm that it's logging properly though. Per the docs for ScheduledThreadPoolExecutor, if the run method throws an error, further executions are suppressed.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)