summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Fick <mfick@codeaurora.org>2022-03-17 14:06:42 -0600
committerMartin Fick <mfick@codeaurora.org>2022-03-17 21:14:30 +0000
commita5f95d6c12b03b55fa0aad95a30018da17cb46cd (patch)
tree7663877056243f6451976f0ecdeb8598782369a4
parentc58b4c9d103de9007abde6b80e8e97d19496f934 (diff)
parent37f56cc4c9220af4f6084ec9d4c6ed5be3921cf8 (diff)
Merge branch 'stable-2.16' into stable-3.0
* stable-2.16: Revert "CmdLineParser: Remove unused prefix argument" Log the exception that caused the user's deactivation to fail Avoid re-reading refs in schema 161 Run background GC in Schema 144 and update GCs done in Schema 146 Trigger All-Users GC in background in schema 123 Release-Notes: skip Change-Id: I45dd6f9a2466881a3d7d9ebb0a6db5deb4b2eebe
-rw-r--r--java/com/google/gerrit/server/StarredChangesUtil.java27
-rw-r--r--java/com/google/gerrit/server/account/AccountDeactivator.java2
-rw-r--r--java/com/google/gerrit/util/cli/CmdLineParser.java7
3 files changed, 21 insertions, 15 deletions
diff --git a/java/com/google/gerrit/server/StarredChangesUtil.java b/java/com/google/gerrit/server/StarredChangesUtil.java
index deca550483..902002562f 100644
--- a/java/com/google/gerrit/server/StarredChangesUtil.java
+++ b/java/com/google/gerrit/server/StarredChangesUtil.java
@@ -377,18 +377,23 @@ public class StarredChangesUtil {
public static StarRef readLabels(Repository repo, String refName) throws IOException {
try (TraceTimer traceTimer = TraceContext.newTimer("Read star labels from %s", refName)) {
Ref ref = repo.exactRef(refName);
- if (ref == null) {
- return StarRef.MISSING;
- }
+ return readLabels(repo, ref);
+ }
+ }
- try (ObjectReader reader = repo.newObjectReader()) {
- ObjectLoader obj = reader.open(ref.getObjectId(), Constants.OBJ_BLOB);
- return StarRef.create(
- ref,
- Splitter.on(CharMatcher.whitespace())
- .omitEmptyStrings()
- .split(new String(obj.getCachedBytes(Integer.MAX_VALUE), UTF_8)));
- }
+ public static StarRef readLabels(Repository repo, Ref ref) throws IOException {
+ if (ref == null) {
+ return StarRef.MISSING;
+ }
+ try (TraceTimer traceTimer =
+ TraceContext.newTimer("Read star labels from %s (without ref lookup)", ref.getName());
+ ObjectReader reader = repo.newObjectReader()) {
+ ObjectLoader obj = reader.open(ref.getObjectId(), Constants.OBJ_BLOB);
+ return StarRef.create(
+ ref,
+ Splitter.on(CharMatcher.whitespace())
+ .omitEmptyStrings()
+ .split(new String(obj.getCachedBytes(Integer.MAX_VALUE), UTF_8)));
}
}
diff --git a/java/com/google/gerrit/server/account/AccountDeactivator.java b/java/com/google/gerrit/server/account/AccountDeactivator.java
index ac02322f46..3c33c98ee9 100644
--- a/java/com/google/gerrit/server/account/AccountDeactivator.java
+++ b/java/com/google/gerrit/server/account/AccountDeactivator.java
@@ -117,7 +117,7 @@ public class AccountDeactivator implements Runnable {
return true;
}
} catch (ResourceConflictException e) {
- logger.atInfo().log("Account %s already deactivated, continuing...", userName);
+ logger.atInfo().withCause(e).log("Account %s already deactivated, continuing...", userName);
} catch (Exception e) {
logger.atSevere().withCause(e).log(
"Error deactivating account: %s (%s) %s",
diff --git a/java/com/google/gerrit/util/cli/CmdLineParser.java b/java/com/google/gerrit/util/cli/CmdLineParser.java
index 1c16133a6d..2917257450 100644
--- a/java/com/google/gerrit/util/cli/CmdLineParser.java
+++ b/java/com/google/gerrit/util/cli/CmdLineParser.java
@@ -464,7 +464,7 @@ public class CmdLineParser {
MyParser(Object bean) {
super(bean, ParserProperties.defaults().withAtSyntax(false));
- parseAdditionalOptions(bean, new HashSet<>());
+ parseAdditionalOptions("", bean, new HashSet<>());
addOptionsWithMetRequirements();
ensureOptionsInitialized();
}
@@ -535,7 +535,7 @@ public class CmdLineParser {
}
}
- private void parseAdditionalOptions(Object bean, Set<Object> parsedBeans) {
+ private void parseAdditionalOptions(String prefix, Object bean, Set<Object> parsedBeans) {
for (Class<?> c = bean.getClass(); c != null; c = c.getSuperclass()) {
for (Field f : c.getDeclaredFields()) {
if (f.isAnnotationPresent(Options.class)) {
@@ -545,7 +545,8 @@ public class CmdLineParser {
} catch (IllegalAccessException e) {
throw new IllegalAnnotationError(e);
}
- parseWithPrefix(f.getAnnotation(Options.class).prefix(), additionalBean, parsedBeans);
+ parseWithPrefix(
+ prefix + f.getAnnotation(Options.class).prefix(), additionalBean, parsedBeans);
}
}
}