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

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


The following commit(s) were added to refs/heads/master by this push:
     new 8a8e285  [broker] Support networkTopologyScriptFileName for 
ScriptBasedMapping (#9363)
8a8e285 is described below

commit 8a8e2852c5c7d5c5af48911699a9762a48659886
Author: hrsakai <[email protected]>
AuthorDate: Sun Jan 31 01:51:45 2021 +0900

    [broker] Support networkTopologyScriptFileName for ScriptBasedMapping 
(#9363)
    
    ### Motivation
    * We want to use `org.apache.bookkeeper.net.ScriptBasedMapping` for 
`reppDnsResolverClass`, but it require `networkTopologyScriptFileName`.
    
    
    ### Modifications
    
    * Support `networkTopologyScriptFileName` in broker conf.
---
 .../org/apache/pulsar/broker/BookKeeperClientFactoryImpl.java | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git 
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/BookKeeperClientFactoryImpl.java
 
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/BookKeeperClientFactoryImpl.java
index be05270..adec96d 100644
--- 
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/BookKeeperClientFactoryImpl.java
+++ 
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/BookKeeperClientFactoryImpl.java
@@ -23,6 +23,7 @@ import static 
org.apache.bookkeeper.client.RegionAwareEnsemblePlacementPolicy.RE
 import static 
org.apache.bookkeeper.client.RegionAwareEnsemblePlacementPolicy.REPP_ENABLE_VALIDATION;
 import static 
org.apache.bookkeeper.client.RegionAwareEnsemblePlacementPolicy.REPP_MINIMUM_REGIONS_FOR_DURABILITY;
 import static 
org.apache.bookkeeper.client.RegionAwareEnsemblePlacementPolicy.REPP_REGIONS_TO_WRITE;
+import static 
org.apache.bookkeeper.net.CommonConfigurationKeys.NET_TOPOLOGY_SCRIPT_FILE_NAME_KEY;
 import com.google.common.annotations.VisibleForTesting;
 import java.io.IOException;
 import java.util.Map;
@@ -180,6 +181,11 @@ public class BookKeeperClientFactoryImpl implements 
BookKeeperClientFactory {
                             REPP_DNS_RESOLVER_CLASS,
                             ZkBookieRackAffinityMapping.class.getName()));
 
+            bkConf.setProperty(NET_TOPOLOGY_SCRIPT_FILE_NAME_KEY,
+                conf.getProperties().getProperty(
+                    NET_TOPOLOGY_SCRIPT_FILE_NAME_KEY,
+                    ""));
+
             ZooKeeperCache zkc = new ZooKeeperCache("bookies-racks", zkClient,
                     conf.getZooKeeperOperationTimeoutSeconds()) {
             };
@@ -224,6 +230,11 @@ public class BookKeeperClientFactoryImpl implements 
BookKeeperClientFactory {
         if (conf.isBookkeeperClientRackawarePolicyEnabled() || 
conf.isBookkeeperClientRegionawarePolicyEnabled()) {
             bkConf.setProperty(REPP_DNS_RESOLVER_CLASS, 
conf.getProperties().getProperty(REPP_DNS_RESOLVER_CLASS,
                     ZkBookieRackAffinityMapping.class.getName()));
+
+            bkConf.setProperty(NET_TOPOLOGY_SCRIPT_FILE_NAME_KEY,
+                conf.getProperties().getProperty(
+                    NET_TOPOLOGY_SCRIPT_FILE_NAME_KEY,
+                    ""));
         }
     }
 

Reply via email to