Files
gerrit/java
Edwin Kempin c02210681e DeleteMembers: Do not fail if member input contains null or empty string
I'm not sure how to reproduce this via REST, but we saw in our logs that
this is happening [1]. Via the Java API it's easy to reproduce.

[1]
AutoRetry: restapi.group.DeleteMembers failed, retry with tracing enabled [CONTEXT forced=true TRACE_ID="retry-on-failure-1574282678933-f84acb17" ]
java.lang.NullPointerException
        at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:878)
        at com.google.common.primitives.Longs.tryParse(Longs.java:396)
        at com.google.common.primitives.Ints.tryParse(Ints.java:741)
        at com.google.common.primitives.Ints.tryParse(Ints.java:716)
        at com.google.gerrit.entities.Account$Id.tryParse(Account.java:58)
        at com.google.gerrit.server.account.AccountResolver$ByExactAccountId.tryParse(AccountResolver.java:287)
        at com.google.gerrit.server.account.AccountResolver$Searcher.trySearch(AccountResolver.java:226)
        at com.google.gerrit.server.account.AccountResolver.searchImpl(AccountResolver.java:575)
        at com.google.gerrit.server.account.AccountResolver.resolve(AccountResolver.java:519)
        at com.google.gerrit.server.restapi.group.DeleteMembers.apply(DeleteMembers.java:71)
        at com.google.gerrit.server.restapi.group.DeleteMembers.apply(DeleteMembers.java:44)
        at com.google.gerrit.httpd.restapi.RestApiServlet.lambda$invokeRestModifyViewWithRetry$4(RestApiServlet.java:740)
        at com.github.rholder.retry.AttemptTimeLimiters$NoAttemptTimeLimit.call(AttemptTimeLimiters.java:78)
        at com.github.rholder.retry.Retryer.call(Retryer.java:160)
        at com.google.gerrit.server.update.RetryHelper.executeWithTimeoutCount(RetryHelper.java:417)
        at com.google.gerrit.server.update.RetryHelper.executeWithAttemptAndTimeoutCount(RetryHelper.java:368)
        at com.google.gerrit.server.update.RetryHelper.execute(RetryHelper.java:271)
        at com.google.gerrit.httpd.restapi.RestApiServlet.invokeRestEndpointWithRetry(RestApiServlet.java:820)
        at com.google.gerrit.httpd.restapi.RestApiServlet.invokeRestModifyViewWithRetry(RestApiServlet.java:735)
        at com.google.gerrit.httpd.restapi.RestApiServlet.service(RestApiServlet.java:511)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        ...

Signed-off-by: Edwin Kempin <ekempin@google.com>
Change-Id: I0e136153cc38946f8c4f5abdf4aabc0ec4aa801a
2019-11-21 10:20:56 +01:00
..