BatchUpdate: Remove slow update exception logs We have a better understanding of write latency in our googlesource.com implementation, and these are now basically noise. Change-Id: I3358e14c1ea6884c4d64a48595a0eea2be0f108b
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/BatchUpdate.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/BatchUpdate.java index 7457da5..2bd30be 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/git/BatchUpdate.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/BatchUpdate.java
@@ -18,9 +18,6 @@ import static com.google.common.base.Preconditions.checkNotNull; import static com.google.common.base.Preconditions.checkState; import static java.util.Comparator.comparing; -import static java.util.concurrent.TimeUnit.MILLISECONDS; -import static java.util.concurrent.TimeUnit.NANOSECONDS; -import static java.util.concurrent.TimeUnit.SECONDS; import com.google.common.base.Throwables; import com.google.common.collect.ImmutableList; @@ -46,8 +43,6 @@ import com.google.gerrit.server.GerritPersonIdent; import com.google.gerrit.server.IdentifiedUser; import com.google.gerrit.server.config.AllUsersName; -import com.google.gerrit.server.config.ConfigUtil; -import com.google.gerrit.server.config.GerritServerConfig; import com.google.gerrit.server.extensions.events.GitReferenceUpdated; import com.google.gerrit.server.index.change.ChangeIndexer; import com.google.gerrit.server.notedb.ChangeNotes; @@ -67,7 +62,6 @@ import com.google.inject.assistedinject.AssistedInject; import org.eclipse.jgit.lib.BatchRefUpdate; -import org.eclipse.jgit.lib.Config; import org.eclipse.jgit.lib.NullProgressMonitor; import org.eclipse.jgit.lib.ObjectInserter; import org.eclipse.jgit.lib.ObjectReader; @@ -487,7 +481,6 @@ private final ReviewDb db; private final SchemaFactory<ReviewDb> schemaFactory; - private final long logThresholdNanos; private final Project.NameKey project; private final CurrentUser user; private final Timestamp when; @@ -512,7 +505,6 @@ @AssistedInject BatchUpdate( - @GerritServerConfig Config cfg, AllUsersName allUsers, ChangeControl.GenericFactory changeControlFactory, ChangeIndexer indexer, @@ -540,11 +532,6 @@ this.repoManager = repoManager; this.schemaFactory = schemaFactory; this.updateManagerFactory = updateManagerFactory; - - this.logThresholdNanos = MILLISECONDS.toNanos( - ConfigUtil.getTimeUnit( - cfg, "change", null, "updateDebugLogThreshold", - SECONDS.toMillis(2), MILLISECONDS)); this.db = db; this.project = project; this.user = user; @@ -747,17 +734,12 @@ logDebug("Waiting on futures for {} ops spanning {} changes", ops.size(), ops.keySet().size()); } - // TODO(dborowitz): Timing is wrong for non-parallel updates. - long startNanos = System.nanoTime(); Futures.allAsList(futures).get(); - maybeLogSlowUpdate(startNanos, "change"); if (notesMigration.commitChangeWrites()) { - startNanos = System.nanoTime(); if (!dryrun) { executeNoteDbUpdates(tasks); } - maybeLogSlowUpdate(startNanos, "NoteDb"); } } catch (ExecutionException | InterruptedException e) { Throwables.propagateIfInstanceOf(e.getCause(), UpdateException.class); @@ -777,26 +759,6 @@ } } - private static class SlowUpdateException extends Exception { - private static final long serialVersionUID = 1L; - - private SlowUpdateException(String fmt, Object... args) { - super(String.format(fmt, args)); - } - } - - private void maybeLogSlowUpdate(long startNanos, String desc) { - long elapsedNanos = System.nanoTime() - startNanos; - if (!log.isDebugEnabled() || elapsedNanos <= logThresholdNanos) { - return; - } - // Always log even without RequestId. - log.debug("Slow " + desc + " update", - new SlowUpdateException( - "Slow %s update (%d ms) to %s for %s", - desc, NANOSECONDS.toMillis(elapsedNanos), project, ops.keySet())); - } - private void executeNoteDbUpdates(List<ChangeTask> tasks) { // Aggregate together all NoteDb ref updates from the ops we executed, // possibly in parallel. Each task had its own NoteDbUpdateManager instance