This is an automated email from the ASF dual-hosted git repository. ifesdjeen pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/cassandra-in-jvm-dtest-api.git
commit 71f854cfe0050da9dc7ffd9e52d0ef357decbd39 Author: Doug Rohrer <[email protected]> AuthorDate: Thu Jul 18 16:16:35 2024 -0400 Fix formatting --- .../distributed/shared/InstanceClassLoader.java | 6 ++- .../shared/InstanceClassLoaderTest.java | 50 ++++++++++++---------- 2 files changed, 31 insertions(+), 25 deletions(-) diff --git a/src/main/java/org/apache/cassandra/distributed/shared/InstanceClassLoader.java b/src/main/java/org/apache/cassandra/distributed/shared/InstanceClassLoader.java index 9443442..6bb43cc 100644 --- a/src/main/java/org/apache/cassandra/distributed/shared/InstanceClassLoader.java +++ b/src/main/java/org/apache/cassandra/distributed/shared/InstanceClassLoader.java @@ -105,8 +105,10 @@ public class InstanceClassLoader extends URLClassLoader return DEFAULT_SHARED_PACKAGES; } - public static int getApproximateLiveLoaderCount(boolean forceGC) { - if (forceGC) { + public static int getApproximateLiveLoaderCount(boolean forceGC) + { + if (forceGC) + { System.gc(); } return liveLoaders.size(); diff --git a/src/test/java/org/apache/cassandra/distributed/shared/InstanceClassLoaderTest.java b/src/test/java/org/apache/cassandra/distributed/shared/InstanceClassLoaderTest.java index da58bdc..e6fb61a 100644 --- a/src/test/java/org/apache/cassandra/distributed/shared/InstanceClassLoaderTest.java +++ b/src/test/java/org/apache/cassandra/distributed/shared/InstanceClassLoaderTest.java @@ -32,46 +32,50 @@ public class InstanceClassLoaderTest { private static final int NUM_LOADERS = 10; - private List<InstanceClassLoader> loaders = new ArrayList<>(); + private final List<InstanceClassLoader> loaders = new ArrayList<>(); + + @Test + public void testRefCountZeroWhenNoneCreated() + { + assertThat(InstanceClassLoader.getApproximateLiveLoaderCount(true)).isEqualTo(0); + } + + @Test + public void testRefCountWhenInstancesCreatedAndStillOnHeap() + { + createClassLoadersAndAssertCount(); + } + + @Test + public void testRefCountAfterInstancesCanBeGced() + { + createClassLoadersAndAssertCount(); + loaders.clear(); + assertThat(waitForZeroClassLoaders(10)).isTrue(); + } @BeforeEach - public void ensureNoClassLoadersOnStart() { + public void ensureNoClassLoadersOnStart() + { assertThat(waitForZeroClassLoaders(50)).isTrue(); } public boolean waitForZeroClassLoaders(int gcAttempts) { int i = 0; - while (InstanceClassLoader.getApproximateLiveLoaderCount(true) > 0 && i++ < gcAttempts) { + while (InstanceClassLoader.getApproximateLiveLoaderCount(true) > 0 && i++ < gcAttempts) + { Uninterruptibles.sleepUninterruptibly(1, TimeUnit.SECONDS); } return InstanceClassLoader.getApproximateLiveLoaderCount(false) == 0; - - } - - @Test - public void testRefCountZeroWhenNoneCreated() { - assertThat(InstanceClassLoader.getApproximateLiveLoaderCount(true)).isEqualTo(0); - } - - @Test - public void testRefCountWhenInstancesCreatedAndStillOnHeap() - { - createClassLoadersAndAssertCount(); } private void createClassLoadersAndAssertCount() { - for (int i = 0; i < NUM_LOADERS; i++) { + for (int i = 0; i < NUM_LOADERS; i++) + { loaders.add(new InstanceClassLoader(0, 0, new URL[0], this.getClass().getClassLoader())); } assertThat(InstanceClassLoader.getApproximateLiveLoaderCount(true)).isEqualTo(NUM_LOADERS); } - - @Test - public void testRefCountAfterInstancesCanBeGced() { - createClassLoadersAndAssertCount(); - loaders.clear(); - assertThat(waitForZeroClassLoaders(10)).isTrue(); - } } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
