You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bookkeeper.apache.org by si...@apache.org on 2018/01/29 22:56:21 UTC

[bookkeeper] branch master updated: Cleanup classloaders in backward-compat tests

This is an automated email from the ASF dual-hosted git repository.

sijie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/bookkeeper.git


The following commit(s) were added to refs/heads/master by this push:
     new c8a3c25  Cleanup classloaders in backward-compat tests
c8a3c25 is described below

commit c8a3c25557ef4e4fc2cfb4a823f5ca5a9e224f11
Author: Ivan Kelly <iv...@apache.org>
AuthorDate: Mon Jan 29 14:56:14 2018 -0800

    Cleanup classloaders in backward-compat tests
    
    The BC tests run in the maven process (for classloader reasons), so we
    need to make sure we clean stuff up to avoid running out of memory, as
    the classloaders will load a bunch of jars into memory.
    
    Master Issue: #1030
    
    Author: Ivan Kelly <iv...@apache.org>
    
    Reviewers: Enrico Olivelli <eo...@gmail.com>, Sijie Guo <si...@apache.org>
    
    This closes #1070 from ivankelly/cleanup-cl
---
 .../TestCompatHierarchicalLedgerManager.groovy     | 13 ++++++------
 .../TestCompatUpgradeWithHostnameBookieId.groovy   | 21 +++++++++----------
 ...mpatUpgradeOldServerInClusterWithCookies.groovy |  6 ++++--
 .../TestCompatRecoveryNoPassword.groovy            |  4 +++-
 .../backwardcompat/TestCompatUpgradeDirect.groovy  | 24 +++++++++-------------
 .../tests/backwardcompat/TestCompatUpgrade.groovy  | 14 ++++++-------
 6 files changed, 39 insertions(+), 43 deletions(-)

diff --git a/tests/backward-compat/hierarchical-ledger-manager/src/test/groovy/org/apache/bookkeeper/tests/backwardcompat/TestCompatHierarchicalLedgerManager.groovy b/tests/backward-compat/hierarchical-ledger-manager/src/test/groovy/org/apache/bookkeeper/tests/backwardcompat/TestCompatHierarchicalLedgerManager.groovy
index 56fec6e..aa9a401 100644
--- a/tests/backward-compat/hierarchical-ledger-manager/src/test/groovy/org/apache/bookkeeper/tests/backwardcompat/TestCompatHierarchicalLedgerManager.groovy
+++ b/tests/backward-compat/hierarchical-ledger-manager/src/test/groovy/org/apache/bookkeeper/tests/backwardcompat/TestCompatHierarchicalLedgerManager.groovy
@@ -19,6 +19,8 @@ package org.apache.bookkeeper.tests.backwardcompat
 
 import com.github.dockerjava.api.DockerClient
 
+import lombok.Cleanup
+
 import org.apache.bookkeeper.tests.BookKeeperClusterUtils
 import org.apache.bookkeeper.tests.MavenClassLoader
 
@@ -59,8 +61,8 @@ class TestCompatHierarchicalLedgerManager {
 
         String zookeeper = BookKeeperClusterUtils.zookeeperConnectString(docker)
         int numEntries = 10
-        def v420CL = MavenClassLoader.forBookKeeperVersion("4.2.0")
-        def v420BK = v420CL.newBookKeeper(zookeeper)
+        @Cleanup def v420CL = MavenClassLoader.forBookKeeperVersion("4.2.0")
+        @Cleanup def v420BK = v420CL.newBookKeeper(zookeeper)
 
         def ledger0 = v420BK.createLedger(3, 2, v420CL.digestType("CRC32"), PASSWD)
         for (int i = 0; i < numEntries; i++) {
@@ -75,8 +77,8 @@ class TestCompatHierarchicalLedgerManager {
                                                    "org.apache.bookkeeper.meta.HierarchicalLedgerManagerFactory")
         Assert.assertTrue(BookKeeperClusterUtils.startAllBookiesWithVersion(docker, currentVersion))
 
-        def currentCL = MavenClassLoader.forBookKeeperVersion(currentVersion)
-        def currentBK = currentCL.newBookKeeper(zookeeper)
+        @Cleanup def currentCL = MavenClassLoader.forBookKeeperVersion(currentVersion)
+        @Cleanup def currentBK = currentCL.newBookKeeper(zookeeper)
 
         def ledger1 = currentBK.openLedger(ledger0.getId(), currentCL.digestType("CRC32"), PASSWD)
         Assert.assertEquals(numEntries, ledger1.getLastAddConfirmed() + 1 /* counts from 0 */)
@@ -88,8 +90,5 @@ class TestCompatHierarchicalLedgerManager {
             j++
         }
         ledger1.close()
-
-        v420BK.close()
-        currentBK.close()
     }
 }
diff --git a/tests/backward-compat/hostname-bookieid/src/test/groovy/org/apache/bookkeeper/tests/backwardcompat/TestCompatUpgradeWithHostnameBookieId.groovy b/tests/backward-compat/hostname-bookieid/src/test/groovy/org/apache/bookkeeper/tests/backwardcompat/TestCompatUpgradeWithHostnameBookieId.groovy
index 9925bce..c86e7d0 100644
--- a/tests/backward-compat/hostname-bookieid/src/test/groovy/org/apache/bookkeeper/tests/backwardcompat/TestCompatUpgradeWithHostnameBookieId.groovy
+++ b/tests/backward-compat/hostname-bookieid/src/test/groovy/org/apache/bookkeeper/tests/backwardcompat/TestCompatUpgradeWithHostnameBookieId.groovy
@@ -19,6 +19,8 @@ package org.apache.bookkeeper.tests.backwardcompat
 
 import com.github.dockerjava.api.DockerClient
 
+import lombok.Cleanup
+
 import org.apache.bookkeeper.tests.BookKeeperClusterUtils
 import org.apache.bookkeeper.tests.MavenClassLoader
 
@@ -79,16 +81,16 @@ class TestCompatUpgradeWithHostnameBookieId {
         Assert.assertTrue(BookKeeperClusterUtils.startAllBookiesWithVersion(docker, "4.1.0"))
 
         // Write a ledger with v4.1.0 client
-        def v410CL = MavenClassLoader.forBookKeeperVersion("4.1.0")
-        def v410BK = v410CL.newBookKeeper(zookeeper)
+        @Cleanup def v410CL = MavenClassLoader.forBookKeeperVersion("4.1.0")
+        @Cleanup def v410BK = v410CL.newBookKeeper(zookeeper)
 
         def ledger410 = v410BK.createLedger(3, 2, v410CL.digestType("CRC32"), PASSWD)
         writeEntries(ledger410, numEntries)
         ledger410.close()
 
         // Write a ledger with v4.2.0 client
-        def v420CL = MavenClassLoader.forBookKeeperVersion("4.2.0")
-        def v420BK = v420CL.newBookKeeper(zookeeper)
+        @Cleanup def v420CL = MavenClassLoader.forBookKeeperVersion("4.2.0")
+        @Cleanup def v420BK = v420CL.newBookKeeper(zookeeper)
 
         def ledger420 = v420BK.createLedger(3, 2, v420CL.digestType("CRC32"), PASSWD)
         writeEntries(ledger420, numEntries)
@@ -110,12 +112,12 @@ class TestCompatUpgradeWithHostnameBookieId {
         ledger420r.close()
 
         // Ensure we can write and read new ledgers with all client versions
-        def currentCL = MavenClassLoader.forBookKeeperVersion(currentVersion)
-        def currentBK = currentCL.newBookKeeper(zookeeper)
+        @Cleanup def currentCL = MavenClassLoader.forBookKeeperVersion(currentVersion)
+        @Cleanup def currentBK = currentCL.newBookKeeper(zookeeper)
         oldClientVersions.each{
             LOG.info("Testing ledger creation for version {}", it)
-            def oldCL = MavenClassLoader.forBookKeeperVersion(it)
-            def oldBK = oldCL.newBookKeeper(zookeeper)
+            @Cleanup def oldCL = MavenClassLoader.forBookKeeperVersion(it)
+            @Cleanup def oldBK = oldCL.newBookKeeper(zookeeper)
 
             def ledger0 = oldBK.createLedger(3, 2, oldCL.digestType("CRC32"), PASSWD)
             writeEntries(ledger0, numEntries)
@@ -124,10 +126,7 @@ class TestCompatUpgradeWithHostnameBookieId {
             def ledger1 = currentBK.openLedger(ledger0.getId(), currentCL.digestType("CRC32"), PASSWD)
             assertHasEntries(ledger1, numEntries)
             ledger1.close()
-
-            oldBK.close()
         }
-        currentBK.close()
     }
 
 
diff --git a/tests/backward-compat/old-cookie-new-cluster/src/test/groovy/org/apache/bookkeeper/tests/backwardcompat/TestCompatUpgradeOldServerInClusterWithCookies.groovy b/tests/backward-compat/old-cookie-new-cluster/src/test/groovy/org/apache/bookkeeper/tests/backwardcompat/TestCompatUpgradeOldServerInClusterWithCookies.groovy
index afcf3f8..2756f70 100644
--- a/tests/backward-compat/old-cookie-new-cluster/src/test/groovy/org/apache/bookkeeper/tests/backwardcompat/TestCompatUpgradeOldServerInClusterWithCookies.groovy
+++ b/tests/backward-compat/old-cookie-new-cluster/src/test/groovy/org/apache/bookkeeper/tests/backwardcompat/TestCompatUpgradeOldServerInClusterWithCookies.groovy
@@ -19,6 +19,8 @@ package org.apache.bookkeeper.tests.backwardcompat
 
 import com.github.dockerjava.api.DockerClient
 
+import lombok.Cleanup
+
 import org.apache.bookkeeper.tests.BookKeeperClusterUtils
 import org.apache.bookkeeper.tests.MavenClassLoader
 
@@ -49,8 +51,8 @@ class TestCompatUpgradeOldServerInClusterWithCookies {
         int numEntries = 10
 
         Assert.assertTrue(BookKeeperClusterUtils.startAllBookiesWithVersion(docker, "4.1.0"))
-        def v410CL = MavenClassLoader.forBookKeeperVersion("4.1.0")
-        def v410BK = v410CL.newBookKeeper(zookeeper)
+        @Cleanup def v410CL = MavenClassLoader.forBookKeeperVersion("4.1.0")
+        @Cleanup def v410BK = v410CL.newBookKeeper(zookeeper)
 
         def ledger0 = v410BK.createLedger(3, 2, v410CL.digestType("CRC32"), PASSWD)
         for (int i = 0; i < numEntries; i++) {
diff --git a/tests/backward-compat/recovery-no-password/src/test/groovy/org/apache/bookkeeper/tests/backwardcompat/TestCompatRecoveryNoPassword.groovy b/tests/backward-compat/recovery-no-password/src/test/groovy/org/apache/bookkeeper/tests/backwardcompat/TestCompatRecoveryNoPassword.groovy
index c1eee1f..908c178 100644
--- a/tests/backward-compat/recovery-no-password/src/test/groovy/org/apache/bookkeeper/tests/backwardcompat/TestCompatRecoveryNoPassword.groovy
+++ b/tests/backward-compat/recovery-no-password/src/test/groovy/org/apache/bookkeeper/tests/backwardcompat/TestCompatRecoveryNoPassword.groovy
@@ -27,6 +27,8 @@ import java.util.concurrent.CountDownLatch
 import java.util.concurrent.TimeUnit
 import java.util.concurrent.atomic.AtomicLong
 
+import lombok.Cleanup
+
 import org.apache.bookkeeper.client.BKException
 import org.apache.bookkeeper.client.BookKeeper
 import org.apache.bookkeeper.client.BookKeeperAdmin
@@ -156,7 +158,7 @@ class TestCompatRecoveryNoPassword {
         BookKeeperClusterUtils.legacyMetadataFormat(docker)
 
         // Create a 4.1.0 client, will update /ledgers/LAYOUT
-        def v410CL = MavenClassLoader.forBookKeeperVersion("4.1.0")
+        @Cleanup def v410CL = MavenClassLoader.forBookKeeperVersion("4.1.0")
         def v410Conf = v410CL.newInstance("org.apache.bookkeeper.conf.ClientConfiguration")
         v410Conf.setZkServers(zookeeper).setLedgerManagerType("hierarchical")
         def v410BK = v410CL.newInstance("org.apache.bookkeeper.client.BookKeeper", v410Conf)
diff --git a/tests/backward-compat/upgrade-direct/src/test/groovy/org/apache/bookkeeper/tests/backwardcompat/TestCompatUpgradeDirect.groovy b/tests/backward-compat/upgrade-direct/src/test/groovy/org/apache/bookkeeper/tests/backwardcompat/TestCompatUpgradeDirect.groovy
index a160d17..1a81326 100644
--- a/tests/backward-compat/upgrade-direct/src/test/groovy/org/apache/bookkeeper/tests/backwardcompat/TestCompatUpgradeDirect.groovy
+++ b/tests/backward-compat/upgrade-direct/src/test/groovy/org/apache/bookkeeper/tests/backwardcompat/TestCompatUpgradeDirect.groovy
@@ -19,6 +19,8 @@ package org.apache.bookkeeper.tests.backwardcompat
 
 import com.github.dockerjava.api.DockerClient
 
+import lombok.Cleanup
+
 import org.apache.bookkeeper.tests.BookKeeperClusterUtils
 import org.apache.bookkeeper.tests.MavenClassLoader
 
@@ -50,8 +52,8 @@ class TestCompatUpgradeDirect {
         int numEntries = 10
 
         Assert.assertTrue(BookKeeperClusterUtils.startAllBookiesWithVersion(docker, "4.1.0"))
-        def v410CL = MavenClassLoader.forBookKeeperVersion("4.1.0")
-        def v410BK = v410CL.newBookKeeper(zookeeper)
+        @Cleanup def v410CL = MavenClassLoader.forBookKeeperVersion("4.1.0")
+        @Cleanup def v410BK = v410CL.newBookKeeper(zookeeper)
 
         def ledger0 = v410BK.createLedger(3, 2,
                                           v410CL.digestType("CRC32"),
@@ -62,8 +64,8 @@ class TestCompatUpgradeDirect {
         ledger0.close()
 
         // Current client shouldn't be able to write to 4.1.0 server
-        def currentCL = MavenClassLoader.forBookKeeperVersion(currentVersion)
-        def currentBK = currentCL.newBookKeeper(zookeeper)
+        @Cleanup def currentCL = MavenClassLoader.forBookKeeperVersion(currentVersion)
+        @Cleanup def currentBK = currentCL.newBookKeeper(zookeeper)
         def ledger1 = currentBK.createLedger(3, 2, currentCL.digestType("CRC32"), PASSWD)
         try {
             ledger1.addEntry("foobar".getBytes())
@@ -87,9 +89,6 @@ class TestCompatUpgradeDirect {
             j++
         }
         ledger2.close()
-
-        v410BK.close()
-        currentBK.close()
     }
 
     @Test
@@ -97,8 +96,8 @@ class TestCompatUpgradeDirect {
         String currentVersion = System.getProperty("currentVersion")
         String zookeeper = BookKeeperClusterUtils.zookeeperConnectString(docker)
 
-        def currentCL = MavenClassLoader.forBookKeeperVersion(currentVersion)
-        def currentBK = currentCL.newBookKeeper(zookeeper)
+        @Cleanup def currentCL = MavenClassLoader.forBookKeeperVersion(currentVersion)
+        @Cleanup def currentBK = currentCL.newBookKeeper(zookeeper)
 
         def numEntries = 5
         def ledger0 = currentBK.createLedger(3, 2,
@@ -109,8 +108,8 @@ class TestCompatUpgradeDirect {
         }
         ledger0.close()
 
-        def v410CL = MavenClassLoader.forBookKeeperVersion("4.1.0")
-        def v410BK = v410CL.newBookKeeper(zookeeper)
+        @Cleanup def v410CL = MavenClassLoader.forBookKeeperVersion("4.1.0")
+        @Cleanup def v410BK = v410CL.newBookKeeper(zookeeper)
 
         try {
             def ledger1 = v410BK.openLedger(ledger0.getId(), v410CL.digestType("CRC32"), PASSWD)
@@ -118,8 +117,5 @@ class TestCompatUpgradeDirect {
         } catch (Exception e) {
             // correct behaviour
         }
-
-        currentBK.close()
-        v410BK.close()
     }
 }
diff --git a/tests/backward-compat/upgrade/src/test/groovy/org/apache/bookkeeper/tests/backwardcompat/TestCompatUpgrade.groovy b/tests/backward-compat/upgrade/src/test/groovy/org/apache/bookkeeper/tests/backwardcompat/TestCompatUpgrade.groovy
index 9d1d5e2..76b02d8 100644
--- a/tests/backward-compat/upgrade/src/test/groovy/org/apache/bookkeeper/tests/backwardcompat/TestCompatUpgrade.groovy
+++ b/tests/backward-compat/upgrade/src/test/groovy/org/apache/bookkeeper/tests/backwardcompat/TestCompatUpgrade.groovy
@@ -19,6 +19,8 @@ package org.apache.bookkeeper.tests.backwardcompat
 
 import com.github.dockerjava.api.DockerClient
 
+import lombok.Cleanup
+
 import org.apache.bookkeeper.tests.BookKeeperClusterUtils
 import org.apache.bookkeeper.tests.MavenClassLoader
 
@@ -47,9 +49,8 @@ class TestCompatUpgrade {
         String zookeeper = BookKeeperClusterUtils.zookeeperConnectString(docker)
         LOG.info("Upgrading from {} to {}", currentlyRunning, upgradeTo)
         int numEntries = 10
-        def currentRunningCL = MavenClassLoader.forBookKeeperVersion(currentlyRunning)
-
-        def currentRunningBK = currentRunningCL.newBookKeeper(zookeeper)
+        @Cleanup def currentRunningCL = MavenClassLoader.forBookKeeperVersion(currentlyRunning)
+        @Cleanup def currentRunningBK = currentRunningCL.newBookKeeper(zookeeper)
 
         def ledger0 = currentRunningBK.createLedger(3, 2,
                                                     currentRunningCL.digestType("CRC32"),
@@ -60,8 +61,8 @@ class TestCompatUpgrade {
         ledger0.close()
 
         // Check whether current client can write to old server
-        def upgradedCL = MavenClassLoader.forBookKeeperVersion(upgradeTo)
-        def upgradedBK = upgradedCL.newBookKeeper(zookeeper)
+        @Cleanup def upgradedCL = MavenClassLoader.forBookKeeperVersion(upgradeTo)
+        @Cleanup def upgradedBK = upgradedCL.newBookKeeper(zookeeper)
         def ledger1 = upgradedBK.createLedger(3, 2, upgradedCL.digestType("CRC32"), PASSWD)
         try {
             ledger1.addEntry("foobar".getBytes())
@@ -90,9 +91,6 @@ class TestCompatUpgrade {
             j++
         }
         ledger2.close()
-
-        currentRunningBK.close()
-        upgradedBK.close()
     }
 
     @Test

-- 
To stop receiving notification emails like this one, please contact
sijie@apache.org.