[
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_v2.patch
v2 patch with a better handling of IllegalStateException by not throwing the
IllegalStateException ;).
[~jleech] - one way to reproduce this would be to have a longish running task
like multiple CREATE INDEX statements on a table with and bring down HBase or
something like that to trigger an error in renewLease. Without the patch, you
would see the renew lease effectively not working because task executions are
suppressed. You would also see some memory leak since the task is suppressed
and no longer draining the queue.
> 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, PHOENIX-3518_v2.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)