summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNitzan Gur-Furman <nitzan@google.com>2023-10-23 13:06:52 +0200
committerLuca Milanesio <luca.milanesio@gmail.com>2023-10-26 21:11:38 +0000
commit5baafc655da2bcfa43714eb5da6611ff98c6e9fb (patch)
tree87cbdedd51da7171fa3074a340c2340be83563da
parentf03c218870e7b83c14b9eb78acfbd559acaa46a8 (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.java13
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();
}