[
https://issues.apache.org/jira/browse/ACCUMULO-1858?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13823317#comment-13823317
]
Jared Winick commented on ACCUMULO-1858:
----------------------------------------
I have successfully tested Sean's patch today using the simple web application
found at https://github.com/jaredwinick/accumulo-1858-test/. The testing
applied the patch to the 1.4.3 tag as that is the version currently being used
by a customer. I was using Zookeeper 3.3.6 and JBoss 7.1.1.
The attached ACCUMULO-1858-no-patch.png shows the behavior, prior to the patch
being applied, of successive redeploys
(https://github.com/jaredwinick/accumulo-1858-test/blob/master/redeploy.sh)
until JBoss finally dies with the OOM error. ACCUMULO-1858-patch-close.png
shows the behavior with the patch applied. You can see the thread count holding
steady over time and GC cleaning up space/classes when needed.
The one caveat we found is that the close() method doesn't block until the ZK
threads have actually been shutdown (nor does this look possible with the ZK
API). If close() is called and the SevletContextListener.contextDestoryed()
method returns immediately, the container starts to clean up resources. There
appears to be a race condition between the container cleaning up resources and
the ZK SendThread actually shutting down and we have thus repeatedly seen
"java.lang.NoClassDefFoundError: org/apache/zookeeper/server/ZooTrace" errors
when the ZK thread tries to log a message after the container has already
unloaded the ZooTrace class. It appears this situation can be avoided by
sleeping for a few seconds after calling close() as seen in
https://github.com/jaredwinick/accumulo-1858-test/blob/master/src/main/java/com/koverse/ApplicationServletContextListener.java
> Backport fix for Accumulo-1379 PermGen Leak to 1.4 and 1.5
> ----------------------------------------------------------
>
> Key: ACCUMULO-1858
> URL: https://issues.apache.org/jira/browse/ACCUMULO-1858
> Project: Accumulo
> Issue Type: Bug
> Affects Versions: 1.4.3, 1.5.0
> Reporter: Aaron Cordova
> Assignee: Sean Busbey
> Priority: Minor
> Fix For: 1.4.5, 1.5.1
>
> Attachments: ACCUMULO-1858-no-patch.png,
> ACCUMULO-1858-patch-close.png, ACCUMULO-1858.1.patch.txt
>
>
> Apply bug fix for the way zookeeper client is handled in Accumulo-1379 to
> Accumulo versions 1.4 and 1.5.
--
This message was sent by Atlassian JIRA
(v6.1#6144)