From 86f60519a145dd821daeb912cdb4736175b60c80 Mon Sep 17 00:00:00 2001 From: Michael Walker Date: Fri, 9 Mar 2018 11:06:26 +0000 Subject: [PATCH 1/3] Queue a garbage collection after generating commits --- .../src/main/java/uk/ac/ic/wlgitbridge/bridge/Bridge.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/bridge/Bridge.java b/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/bridge/Bridge.java index d9448ab0bb..9ee76263de 100644 --- a/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/bridge/Bridge.java +++ b/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/bridge/Bridge.java @@ -419,6 +419,8 @@ public class Bridge { Log.warn("[{}] IOException on put", projectName); throw e; } + + gcJob.queueForGc(projectName); } /** From b5e732741004571add93221c22efe57c219095b1 Mon Sep 17 00:00:00 2001 From: Michael Walker Date: Fri, 9 Mar 2018 10:53:10 +0000 Subject: [PATCH 2/3] Fix swap job leak in tests --- .../ic/wlgitbridge/bridge/swap/job/SwapJobImplTest.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/services/git-bridge/src/test/java/uk/ac/ic/wlgitbridge/bridge/swap/job/SwapJobImplTest.java b/services/git-bridge/src/test/java/uk/ac/ic/wlgitbridge/bridge/swap/job/SwapJobImplTest.java index 5eb3196456..a9154d47a0 100644 --- a/services/git-bridge/src/test/java/uk/ac/ic/wlgitbridge/bridge/swap/job/SwapJobImplTest.java +++ b/services/git-bridge/src/test/java/uk/ac/ic/wlgitbridge/bridge/swap/job/SwapJobImplTest.java @@ -1,6 +1,7 @@ package uk.ac.ic.wlgitbridge.bridge.swap.job; import org.apache.commons.io.FileUtils; +import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.rules.TemporaryFolder; @@ -74,6 +75,13 @@ public class SwapJobImplTest { ); } + @After + public void teardown() { + if(swapJob != null) { + swapJob.stop(); + } + } + @Test public void startingTimerAlwaysCausesASwap() { swapJob.lowWatermarkBytes = 16384; From b91390c025b58ec88961399750134c750985e499 Mon Sep 17 00:00:00 2001 From: Michael Walker Date: Fri, 9 Mar 2018 11:01:04 +0000 Subject: [PATCH 3/3] Fix gc job leak in tests --- .../ic/wlgitbridge/bridge/gc/GcJobImplTest.java | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/services/git-bridge/src/test/java/uk/ac/ic/wlgitbridge/bridge/gc/GcJobImplTest.java b/services/git-bridge/src/test/java/uk/ac/ic/wlgitbridge/bridge/gc/GcJobImplTest.java index 8ca35b3b13..091e6b5692 100644 --- a/services/git-bridge/src/test/java/uk/ac/ic/wlgitbridge/bridge/gc/GcJobImplTest.java +++ b/services/git-bridge/src/test/java/uk/ac/ic/wlgitbridge/bridge/gc/GcJobImplTest.java @@ -1,5 +1,7 @@ package uk.ac.ic.wlgitbridge.bridge.gc; +import org.junit.After; +import org.junit.Before; import org.junit.Test; import org.mockito.stubbing.OngoingStubbing; import uk.ac.ic.wlgitbridge.bridge.lock.LockGuard; @@ -24,9 +26,20 @@ public class GcJobImplTest { RepoStore repoStore = mock(RepoStore.class); - ProjectLock locks = new ProjectLockImpl(); + ProjectLock locks; - GcJobImpl gcJob = new GcJobImpl(repoStore, locks, 5); + GcJobImpl gcJob; + + @Before + public void setup() { + locks = new ProjectLockImpl(); + gcJob = new GcJobImpl(repoStore, locks, 5); + } + + @After + public void teardown() { + gcJob.stop(); + } @Test public void addedProjectsAreAllEventuallyGcedOnce() throws Exception {