XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.4.3, 1.5.0
    • 1.6.0
    • client
    • None
    • Linux/JBoss

    Description

      Under version 1.3.7 we are using the following code to initialize a cloudbase connection during initialization of our web app:

      ZooKeeperInstance instance = new ZooKeeperInstance(instanceName, zooKeepers);
      connector = instance.getConnector(userId, password.getBytes());

      The problem is that under the hood, this call creates several threads that are not cleaned up when the app is undeployed in JBoss. This is occurring without performing any scans or interacting with cloudbase in any other way. After relatively few redeploys of the app, the PermGen Space is OOM.

      I can't find any reference in the cloudbase API akin to a close() method for the Connector object. This is a classloader leak effecting any webapp that is accessing cloudbase directly. The result of this leak is not simply orphaned threads, but thousands of classes not gc'd because the classloader itself can't be gc'd. This is what is filling up PermGen.

      Attachments

        1. ACCUMULO-1379.patch
          10 kB
          John Vines
        2. ACCUMULO-1379_v2.patch
          13 kB
          John Vines
        3. ACCUMULO-1379_v3.patch
          14 kB
          John Vines

        Issue Links

          Activity

            People

              vines John Vines
              mgiordano Mike Giordano
              Votes:
              1 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: