You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by zh...@apache.org on 2020/03/13 06:49:36 UTC
[pulsar] 03/03: Fix broker to specify a list of bookie groups.
(#6349)
This is an automated email from the ASF dual-hosted git repository.
zhaijia pushed a commit to branch branch-2.5
in repository https://gitbox.apache.org/repos/asf/pulsar.git
commit bd4d87979674a2fd6541cf79566cfd29a52ecae0
Author: Fangbin Sun <su...@gmail.com>
AuthorDate: Mon Feb 24 21:46:31 2020 +0800
Fix broker to specify a list of bookie groups. (#6349)
### Motivation
Fixes #6343
### Modifications
Add a method to cast object value to `String`.
(cherry picked from commit e1f7505cbc2cadcba7cb79d8e3ed5b7855688858)
---
.../ZkIsolatedBookieEnsemblePlacementPolicy.java | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/pulsar-zookeeper-utils/src/main/java/org/apache/pulsar/zookeeper/ZkIsolatedBookieEnsemblePlacementPolicy.java b/pulsar-zookeeper-utils/src/main/java/org/apache/pulsar/zookeeper/ZkIsolatedBookieEnsemblePlacementPolicy.java
index 656b3a2..ef4f72b 100644
--- a/pulsar-zookeeper-utils/src/main/java/org/apache/pulsar/zookeeper/ZkIsolatedBookieEnsemblePlacementPolicy.java
+++ b/pulsar-zookeeper-utils/src/main/java/org/apache/pulsar/zookeeper/ZkIsolatedBookieEnsemblePlacementPolicy.java
@@ -71,7 +71,7 @@ public class ZkIsolatedBookieEnsemblePlacementPolicy extends RackawareEnsemblePl
Optional<DNSToSwitchMapping> optionalDnsResolver, HashedWheelTimer timer, FeatureProvider featureProvider,
StatsLogger statsLogger) {
if (conf.getProperty(ISOLATION_BOOKIE_GROUPS) != null) {
- String isolationGroupsString = (String) conf.getProperty(ISOLATION_BOOKIE_GROUPS);
+ String isolationGroupsString = castToString(conf.getProperty(ISOLATION_BOOKIE_GROUPS));
if (!isolationGroupsString.isEmpty()) {
for (String isolationGroup : isolationGroupsString.split(",")) {
primaryIsolationGroups.add(isolationGroup);
@@ -80,7 +80,7 @@ public class ZkIsolatedBookieEnsemblePlacementPolicy extends RackawareEnsemblePl
}
}
if (conf.getProperty(SECONDARY_ISOLATION_BOOKIE_GROUPS) != null) {
- String secondaryIsolationGroupsString = (String) conf.getProperty(SECONDARY_ISOLATION_BOOKIE_GROUPS);
+ String secondaryIsolationGroupsString = castToString(conf.getProperty(SECONDARY_ISOLATION_BOOKIE_GROUPS));
if (!secondaryIsolationGroupsString.isEmpty()) {
for (String isolationGroup : secondaryIsolationGroupsString.split(",")) {
secondaryIsolationGroups.add(isolationGroup);
@@ -90,6 +90,18 @@ public class ZkIsolatedBookieEnsemblePlacementPolicy extends RackawareEnsemblePl
return super.initialize(conf, optionalDnsResolver, timer, featureProvider, statsLogger);
}
+ private String castToString(Object obj) {
+ if (obj instanceof List<?>) {
+ List<String> result = new ArrayList<>();
+ for (Object o : (List<?>) obj) {
+ result.add(String.class.cast(o));
+ }
+ return String.join(",", result);
+ } else {
+ return obj.toString();
+ }
+ }
+
private ZooKeeperCache getAndSetZkCache(Configuration conf) {
ZooKeeperCache zkCache = null;
if (conf.getProperty(ZooKeeperCache.ZK_CACHE_INSTANCE) != null) {