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)