This is an automated email from the ASF dual-hosted git repository.
krisden pushed a commit to branch v1.3.0
in repository https://gitbox.apache.org/repos/asf/knox.git
The following commit(s) were added to refs/heads/v1.3.0 by this push:
new 0a524a8 KNOX-1917 - DefaultKeystoreService should use a shared read
lock (#110)
0a524a8 is described below
commit 0a524a8a46a725be6658d30c4e7057ae486b9b62
Author: Kevin Risden <[email protected]>
AuthorDate: Mon Jul 8 22:35:13 2019 -0400
KNOX-1917 - DefaultKeystoreService should use a shared read lock (#110)
Signed-off-by: Kevin Risden <[email protected]>
---
.../gateway/services/security/impl/DefaultKeystoreService.java | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git
a/gateway-server/src/main/java/org/apache/knox/gateway/services/security/impl/DefaultKeystoreService.java
b/gateway-server/src/main/java/org/apache/knox/gateway/services/security/impl/DefaultKeystoreService.java
index 7867ed3..6d6445a 100644
---
a/gateway-server/src/main/java/org/apache/knox/gateway/services/security/impl/DefaultKeystoreService.java
+++
b/gateway-server/src/main/java/org/apache/knox/gateway/services/security/impl/DefaultKeystoreService.java
@@ -472,8 +472,11 @@ public class DefaultKeystoreService implements
KeystoreService, Service {
// If the file does not exist, create an empty keystore
if (Files.exists(keyStoreFilePath)) {
- try (InputStream input = Files.newInputStream(keyStoreFilePath)) {
- keyStore.load(input, password);
+ try (FileChannel fileChannel = FileChannel.open(keyStoreFilePath,
StandardOpenOption.READ)) {
+ fileChannel.lock(0L, Long.MAX_VALUE, true);
+ try (InputStream input = Channels.newInputStream(fileChannel)) {
+ keyStore.load(input, password);
+ }
}
} else {
keyStore.load(null, password);