From c97a8f51446fc8ff5558b6a085cb394324932b99 Mon Sep 17 00:00:00 2001 From: Dave Syer Date: Mon, 21 Dec 2015 10:51:46 +0000 Subject: [PATCH] Ensure getLocations() is synchronized (just like findOne()) Concurrent access can be an issue with file locks in JGit (e.g. see gh-261, which no-one reproduced, but smells like it's related). --- .../config/server/environment/JGitEnvironmentRepository.java | 2 +- .../config/server/environment/SvnKitEnvironmentRepository.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepository.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepository.java index a9184b2a..93e80e9d 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepository.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepository.java @@ -113,7 +113,7 @@ public class JGitEnvironmentRepository extends AbstractScmEnvironmentRepository } @Override - public Locations getLocations(String application, String profile, String label) { + public synchronized Locations getLocations(String application, String profile, String label) { if (label==null) { label = this.defaultLabel; } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/SvnKitEnvironmentRepository.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/SvnKitEnvironmentRepository.java index 2c0b583d..5c42e44c 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/SvnKitEnvironmentRepository.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/SvnKitEnvironmentRepository.java @@ -59,7 +59,7 @@ public class SvnKitEnvironmentRepository extends AbstractScmEnvironmentRepositor } @Override - public Locations getLocations(String application, String profile, String label) { + public synchronized Locations getLocations(String application, String profile, String label) { if (label==null) { label = this.defaultLabel; }