From 9eb3b2fd863effb51ebb30b062c1027c90564152 Mon Sep 17 00:00:00 2001 From: David Pursehouse Date: Sat, 4 Mar 2017 11:11:58 +0900 Subject: [PATCH] LocalDiskRepositoryManager: Handle failure to visit file/path If Files.walkFileTree fails due to a directory or file in the git root being inaccessible, it throws an exception and subsequent directories are not processed. Override the visitFileFailed method on the visitor. Log the error and continue. Bug: Issue 5698 Change-Id: I7f4d76b30f3f8907128dacf357b70eea47fb0962 --- .../gerrit/server/git/LocalDiskRepositoryManager.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/LocalDiskRepositoryManager.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/LocalDiskRepositoryManager.java index ad5cf20650..d532078f74 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/git/LocalDiskRepositoryManager.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/LocalDiskRepositoryManager.java @@ -405,6 +405,12 @@ public class LocalDiskRepositoryManager implements GitRepositoryManager, return FileVisitResult.CONTINUE; } + @Override + public FileVisitResult visitFileFailed(Path file, IOException e) { + log.warn(e.getMessage()); + return FileVisitResult.CONTINUE; + } + private boolean isRepo(Path p) { String name = p.getFileName().toString(); return !name.equals(Constants.DOT_GIT)