diff --git a/community/index/src/main/java/org/neo4j/index/internal/gbptree/GroupingRecoveryCleanupWorkCollector.java b/community/index/src/main/java/org/neo4j/index/internal/gbptree/GroupingRecoveryCleanupWorkCollector.java index 3e80550b58fbb..b34ef50bd27be 100644 --- a/community/index/src/main/java/org/neo4j/index/internal/gbptree/GroupingRecoveryCleanupWorkCollector.java +++ b/community/index/src/main/java/org/neo4j/index/internal/gbptree/GroupingRecoveryCleanupWorkCollector.java @@ -57,11 +57,7 @@ public void add( CleanupJob job ) @Override public void start() throws Throwable { - CleanupJob job; - while ( (job = jobs.poll()) != null ) - { - jobScheduler.schedule( recoveryCleanup, job ); - } + jobScheduler.schedule( recoveryCleanup, allJobs() ); } @Override @@ -73,4 +69,16 @@ public void stop() throws Throwable public void shutdown() throws Throwable { // no-op } + + private Runnable allJobs() + { + return () -> + { + CleanupJob job; + while ( (job = jobs.poll()) != null ) + { + job.run(); + } + }; + } }