This is an automated email from the ASF dual-hosted git repository.

rdhabalia pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/bookkeeper.git


The following commit(s) were added to refs/heads/master by this push:
     new e7430ce  [bookie-server-config] Avoid considering empty 
journalDirectories
e7430ce is described below

commit e7430ce25e3609bf77b028e4f0475dad2147c22d
Author: Rajan Dhabalia <[email protected]>
AuthorDate: Tue Mar 31 12:12:16 2020 -0700

    [bookie-server-config] Avoid considering empty journalDirectories
    
    As discussed at : https://github.com/apache/pulsar/issues/6042
    
    ### Issue
    We have config management tool which manages bookie-server configuration 
and sets empty value of `journalDirectories` if bookie-server is still wants to 
use single journal dir: `journalDirectory`. In this case, bookie-server doesn't 
consider `journalDirectory` value and keeps empty list of `journalDirectories` 
which stats bookie with invalid configuration.
    
    ### Expected behavior
    Bookie-server should parse empty configuration `journalDirectories=` 
properly and avoid picking up empty value of `journalDirectories` and in that 
case, bookie-server should fallback to `journalDirectory` config.
    
    Reviewers: Enrico Olivelli <[email protected]>, Sijie Guo <None>
    
    This closes #2245 from rdhabalia/journal_dir
---
 .../main/java/org/apache/bookkeeper/conf/ServerConfiguration.java   | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git 
a/bookkeeper-server/src/main/java/org/apache/bookkeeper/conf/ServerConfiguration.java
 
b/bookkeeper-server/src/main/java/org/apache/bookkeeper/conf/ServerConfiguration.java
index ab49c71..8cd3ef8 100644
--- 
a/bookkeeper-server/src/main/java/org/apache/bookkeeper/conf/ServerConfiguration.java
+++ 
b/bookkeeper-server/src/main/java/org/apache/bookkeeper/conf/ServerConfiguration.java
@@ -41,6 +41,7 @@ import org.apache.bookkeeper.discover.ZKRegistrationManager;
 import org.apache.bookkeeper.stats.NullStatsProvider;
 import org.apache.bookkeeper.stats.StatsProvider;
 import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.lang3.StringUtils;
 
 /**
  * Configuration manages server-side settings.
@@ -1096,8 +1097,9 @@ public class ServerConfiguration extends 
AbstractConfiguration<ServerConfigurati
      */
     public String[] getJournalDirNames() {
         String[] journalDirs = this.getStringArray(JOURNAL_DIRS);
-        if (journalDirs == null || journalDirs.length == 0) {
-            return new String[] {getJournalDirName()};
+        if (journalDirs == null || journalDirs.length == 0
+                || (journalDirs.length == 1 && 
StringUtils.isEmpty(journalDirs[0]))) {
+            return new String[] { getJournalDirName() };
         }
         return journalDirs;
     }

Reply via email to