tree ecb5b2f354634c6249e90b0fc97326810da31be4
parent 3d7e7320a64d4d04b68fc734802b18c6bc50e7f8
author Edwin Kempin <ekempin@google.com> 1673341038 +0100
committer Edwin Kempin <ekempin@google.com> 1673341662 +0100

GitFileDiffCacheImp: Improve logging for MissingObjectExceptions

We recently saw MissingObjectExceptions when trying to get the file
header for a diff entry, but we were not able to tell from the
stacktrace for which path the object was missing and whether it was the
old or the new path.

Example stacktrace:
...
Caused by: org.eclipse.jgit.errors.MissingObjectException: Missing blob 3c89d305edb38258665b9ffca5ca08d79d3953a8
  at org.eclipse.jgit.internal.storage.dfs.DfsReader.open(DfsReader.java:225)
  at com.google.devtools.gerritcodereview.git.storage.GoogleObjectReader.open(GoogleObjectReader.java:248)
  at org.eclipse.jgit.diff.ContentSource$ObjectReaderSource.open(ContentSource.java:135)
  at org.eclipse.jgit.diff.ContentSource$Pair.open(ContentSource.java:300)
  at org.eclipse.jgit.diff.DiffFormatter.open(DiffFormatter.java:1075)
  at org.eclipse.jgit.diff.DiffFormatter.createFormatResult(DiffFormatter.java:1002)
  at org.eclipse.jgit.diff.DiffFormatter.toFileHeader(DiffFormatter.java:965)
  at com.google.gerrit.server.patch.gitfilediff.GitFileDiffCacheImpl$Loader.lambda$createGitFileDiff$2(GitFileDiffCacheImpl.java:356)
...

Bug: Google b/263077919
Signed-off-by: Edwin Kempin <ekempin@google.com>
Release-Notes: skip
Change-Id: Ia810b47264b6a3efb9e3bd46c7e57f76165b4590
