You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aurora.apache.org by dm...@apache.org on 2016/12/22 10:56:45 UTC

aurora git commit: AURORA-1842 Expose stats on garbage collected rows in RowGarbageCollector

Repository: aurora
Updated Branches:
  refs/heads/master 38b9311c3 -> 61e6bc6c4


AURORA-1842 Expose stats on garbage collected rows in RowGarbageCollector

Bugs closed: AURORA-1842

Reviewed at https://reviews.apache.org/r/54959/


Project: http://git-wip-us.apache.org/repos/asf/aurora/repo
Commit: http://git-wip-us.apache.org/repos/asf/aurora/commit/61e6bc6c
Tree: http://git-wip-us.apache.org/repos/asf/aurora/tree/61e6bc6c
Diff: http://git-wip-us.apache.org/repos/asf/aurora/diff/61e6bc6c

Branch: refs/heads/master
Commit: 61e6bc6c4516b3c0c7b601485b133097cb70ab78
Parents: 38b9311
Author: Mehrdad Nurolahzade <me...@nurolahzade.com>
Authored: Thu Dec 22 02:55:51 2016 -0800
Committer: David McLaughlin <dm...@twitter.com>
Committed: Thu Dec 22 02:55:51 2016 -0800

----------------------------------------------------------------------
 .../scheduler/storage/db/RowGarbageCollector.java       | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/aurora/blob/61e6bc6c/src/main/java/org/apache/aurora/scheduler/storage/db/RowGarbageCollector.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/storage/db/RowGarbageCollector.java b/src/main/java/org/apache/aurora/scheduler/storage/db/RowGarbageCollector.java
index 8cd7bfe..d29bcf3 100644
--- a/src/main/java/org/apache/aurora/scheduler/storage/db/RowGarbageCollector.java
+++ b/src/main/java/org/apache/aurora/scheduler/storage/db/RowGarbageCollector.java
@@ -22,6 +22,8 @@ import com.google.common.annotations.VisibleForTesting;
 import com.google.common.collect.ImmutableList;
 import com.google.common.util.concurrent.AbstractScheduledService;
 
+import org.apache.aurora.common.inject.TimedInterceptor.Timed;
+import org.apache.aurora.common.stats.StatsProvider;
 import org.apache.aurora.scheduler.storage.Storage;
 import org.apache.aurora.scheduler.storage.Storage.MutateWork.NoResult;
 import org.apache.ibatis.exceptions.PersistenceException;
@@ -44,6 +46,7 @@ class RowGarbageCollector extends AbstractScheduledService {
   private static final List<Class<? extends GarbageCollectedTableMapper>> TABLES =
       ImmutableList.of(TaskConfigMapper.class, JobKeyMapper.class);
 
+  private final AtomicLong deletedCount;
   private final Scheduler iterationScheduler;
   private final SqlSessionFactory sessionFactory;
 
@@ -55,11 +58,13 @@ class RowGarbageCollector extends AbstractScheduledService {
   RowGarbageCollector(
       Scheduler iterationScheduler,
       SqlSessionFactory sessionFactory,
-      Storage storage) {
+      Storage storage,
+      StatsProvider statsProvider) {
 
     this.iterationScheduler = requireNonNull(iterationScheduler);
     this.sessionFactory = requireNonNull(sessionFactory);
     this.storage = requireNonNull(storage);
+    this.deletedCount = statsProvider.makeCounter("row_garbage_collector_deleted");
   }
 
   @Override
@@ -67,12 +72,13 @@ class RowGarbageCollector extends AbstractScheduledService {
     return iterationScheduler;
   }
 
+  @Timed("row_garbage_collector_run")
   @VisibleForTesting
   @Override
   public void runOneIteration() {
     LOG.info("Scanning database tables for unreferenced rows.");
 
-    final AtomicLong deletedCount = new AtomicLong();
+    long startCount = deletedCount.get();
     for (Class<? extends GarbageCollectedTableMapper> tableClass : TABLES) {
       storage.write((NoResult.Quiet) storeProvider -> {
         try (SqlSession session = sessionFactory.openSession(true)) {
@@ -88,6 +94,6 @@ class RowGarbageCollector extends AbstractScheduledService {
         }
       });
     }
-    LOG.info("Deleted " + deletedCount.get() + " unreferenced rows.");
+    LOG.info("Deleted {} unreferenced rows.", Long.valueOf(deletedCount.get() - startCount));
   }
 }