ChangeData#loadCommitData: Include details into exception message
Currently the exception [1] doesn't tell for which change and patch set
the error occurred.
[1] com.google.gerrit.exceptions.StorageException: org.eclipse.jgit.errors.MissingObjectException: Missing unknown 45dca93613ee97e64f4666b307ca5f0589bf1681
at com.google.gerrit.server.query.change.ChangeData.loadCommitData(ChangeData.java:601)
at com.google.gerrit.server.query.change.ChangeData.getDiffSummary(ChangeData.java:395)
at com.google.gerrit.server.query.change.ChangeData.computeChangedLines(ChangeData.java:416)
at com.google.gerrit.server.query.change.ChangeData.changedLines(ChangeData.java:428)
at com.google.gerrit.server.change.ChangeJson.toChangeInfoImpl(ChangeJson.java:535)
at com.google.gerrit.server.change.ChangeJson.toChangeInfo(ChangeJson.java:494)
at com.google.gerrit.server.change.ChangeJson.format(ChangeJson.java:372)
at com.google.gerrit.server.change.ChangeJson.format(ChangeJson.java:285)
...
Signed-off-by: Edwin Kempin <ekempin@google.com>
Change-Id: I8601068a4481677b469fc92f343849490daaa054
diff --git a/java/com/google/gerrit/server/query/change/ChangeData.java b/java/com/google/gerrit/server/query/change/ChangeData.java
index c6beac4..78ca0fc 100644
--- a/java/com/google/gerrit/server/query/change/ChangeData.java
+++ b/java/com/google/gerrit/server/query/change/ChangeData.java
@@ -598,7 +598,11 @@
committer = c.getCommitterIdent();
parentCount = c.getParentCount();
} catch (IOException e) {
- throw new StorageException(e);
+ throw new StorageException(
+ String.format(
+ "Loading commit %s for ps %d of change %d failed.",
+ ps.commitId(), ps.id().get(), ps.id().changeId().get()),
+ e);
}
return true;
}