diff options
author | Nitzan Gur-Furman <nitzan@google.com> | 2023-10-23 13:06:52 +0200 |
---|---|---|
committer | Luca Milanesio <luca.milanesio@gmail.com> | 2023-10-26 21:11:38 +0000 |
commit | 5baafc655da2bcfa43714eb5da6611ff98c6e9fb (patch) | |
tree | 87cbdedd51da7171fa3074a340c2340be83563da | |
parent | f03c218870e7b83c14b9eb78acfbd559acaa46a8 (diff) |
Change DeleteZombieComments execution order
Old order: list empty ref, list already published refs, delete empty
refs, delete already published refs.
New order: list already published refs, delete already published refs,
list empty ref, delete empty refs.
Motivation: while deleting already-published draft references is an
ongoing need, empty draft refs were a result of an old bug[1], and we
should not see new cases of them. Reordering this method makes sure the
actual work is done earlier.
[1] http://cs/h/gerrit/gerrit/+/refs/changes/23/379823/5:java/com/google/gerrit/server/DeleteZombieComments.java?l=57
Bug: Google b/307223056
Change-Id: Ic9f009c1d62b3845a70b8d915187a849705d195b
Release-Notes: skip
(cherry picked from commit fc1c0b546cb7881d1b14fb9dcf5066fbcdd9319e)
-rw-r--r-- | java/com/google/gerrit/server/DeleteZombieComments.java | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/java/com/google/gerrit/server/DeleteZombieComments.java b/java/com/google/gerrit/server/DeleteZombieComments.java index 8deee6f3c2..4532b04b8f 100644 --- a/java/com/google/gerrit/server/DeleteZombieComments.java +++ b/java/com/google/gerrit/server/DeleteZombieComments.java @@ -109,9 +109,15 @@ public abstract class DeleteZombieComments<KeyT> implements AutoCloseable { @CanIgnoreReturnValue public int execute() throws IOException { setup(); - List<KeyT> emptyDrafts = filterByCleanupPercentage(listEmptyDrafts(), "empty"); ListMultimap<KeyT, HumanComment> alreadyPublished = listDraftCommentsThatAreAlsoPublished(); - if (dryRun) { + if (!dryRun) { + deleteZombieDrafts(alreadyPublished); + } + + List<KeyT> emptyDrafts = filterByCleanupPercentage(listEmptyDrafts(), "empty"); + if (!dryRun) { + deleteEmptyDraftsByKey(emptyDrafts); + } else { logInfo( String.format( "Running in dry run mode. Skipping deletion." @@ -119,9 +125,6 @@ public abstract class DeleteZombieComments<KeyT> implements AutoCloseable { + "\nEmpty drafts = %d" + "\nAlready published drafts (zombies) = %d", cleanupPercentage, emptyDrafts.size(), alreadyPublished.size())); - } else { - deleteEmptyDraftsByKey(emptyDrafts); - deleteZombieDrafts(alreadyPublished); } return emptyDrafts.size() + alreadyPublished.size(); } |