This is an automated email from the ASF dual-hosted git repository.
kwang pushed a commit to branch branch-3.3
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/branch-3.3 by this push:
new 83e55005dba [improve][broker] Make cluster metadata init command
support metadata config path (#23269)
83e55005dba is described below
commit 83e55005dba712e76fec3eda5609fa61af5cabcf
Author: Kai Wang <[email protected]>
AuthorDate: Mon Sep 9 17:22:08 2024 +0800
[improve][broker] Make cluster metadata init command support metadata
config path (#23269)
(cherry picked from commit 46f99b91145ec8f71e38b8cb9671d39628ed53de)
---
.../apache/pulsar/PulsarClusterMetadataSetup.java | 36 +++++++++++++++++++---
.../apache/pulsar/PulsarInitialNamespaceSetup.java | 11 +++++--
.../PulsarTransactionCoordinatorMetadataSetup.java | 11 +++++--
.../broker/zookeeper/ClusterMetadataSetupTest.java | 3 +-
.../test/resources/conf/zk_client_enable_sasl.conf | 20 ++++++++++++
5 files changed, 72 insertions(+), 9 deletions(-)
diff --git
a/pulsar-broker/src/main/java/org/apache/pulsar/PulsarClusterMetadataSetup.java
b/pulsar-broker/src/main/java/org/apache/pulsar/PulsarClusterMetadataSetup.java
index c818dee124a..96ea8877c5b 100644
---
a/pulsar-broker/src/main/java/org/apache/pulsar/PulsarClusterMetadataSetup.java
+++
b/pulsar-broker/src/main/java/org/apache/pulsar/PulsarClusterMetadataSetup.java
@@ -140,6 +140,15 @@ public class PulsarClusterMetadataSetup {
hidden = false)
private String configurationMetadataStore;
+ @Option(names = {"-mscp",
+ "--metadata-store-config-path"}, description = "Metadata Store
config path", hidden = false)
+ private String metadataStoreConfigPath;
+
+ @Option(names = {"-cmscp",
+ "--configuration-metadata-store-config-path"}, description =
"Configuration Metadata Store config path",
+ hidden = false)
+ private String configurationStoreConfigPath;
+
@Option(names = {
"--initial-num-stream-storage-containers"
}, description = "Num storage containers of BookKeeper stream storage")
@@ -283,9 +292,11 @@ public class PulsarClusterMetadataSetup {
log.info("Setting up cluster {} with metadata-store={}
configuration-metadata-store={}", arguments.cluster,
arguments.metadataStoreUrl,
arguments.configurationMetadataStore);
- MetadataStoreExtended localStore =
- initLocalMetadataStore(arguments.metadataStoreUrl,
arguments.zkSessionTimeoutMillis);
+ MetadataStoreExtended localStore =
initLocalMetadataStore(arguments.metadataStoreUrl,
+ arguments.metadataStoreConfigPath,
+ arguments.zkSessionTimeoutMillis);
MetadataStoreExtended configStore =
initConfigMetadataStore(arguments.configurationMetadataStore,
+ arguments.configurationStoreConfigPath,
arguments.zkSessionTimeoutMillis);
final String metadataStoreUrlNoIdentifer = MetadataStoreFactoryImpl
@@ -464,9 +475,17 @@ public class PulsarClusterMetadataSetup {
}
}
- public static MetadataStoreExtended initLocalMetadataStore(String
connection, int sessionTimeout) throws Exception {
+ public static MetadataStoreExtended initLocalMetadataStore(String
connection,
+ int
sessionTimeout) throws Exception {
+ return initLocalMetadataStore(connection, null, sessionTimeout);
+ }
+
+ public static MetadataStoreExtended initLocalMetadataStore(String
connection,
+ String
configPath,
+ int
sessionTimeout) throws Exception {
MetadataStoreExtended store = MetadataStoreExtended.create(connection,
MetadataStoreConfig.builder()
.sessionTimeoutMillis(sessionTimeout)
+ .configFilePath(configPath)
.metadataStoreName(MetadataStoreConfig.METADATA_STORE)
.build());
if (store instanceof MetadataStoreLifecycle) {
@@ -475,10 +494,19 @@ public class PulsarClusterMetadataSetup {
return store;
}
- public static MetadataStoreExtended initConfigMetadataStore(String
connection, int sessionTimeout)
+ public static MetadataStoreExtended initConfigMetadataStore(String
connection,
+ int
sessionTimeout)
+ throws Exception {
+ return initConfigMetadataStore(connection, null, sessionTimeout);
+ }
+
+ public static MetadataStoreExtended initConfigMetadataStore(String
connection,
+ String
configPath,
+ int
sessionTimeout)
throws Exception {
MetadataStoreExtended store = MetadataStoreExtended.create(connection,
MetadataStoreConfig.builder()
.sessionTimeoutMillis(sessionTimeout)
+ .configFilePath(configPath)
.metadataStoreName(MetadataStoreConfig.CONFIGURATION_METADATA_STORE)
.build());
if (store instanceof MetadataStoreLifecycle) {
diff --git
a/pulsar-broker/src/main/java/org/apache/pulsar/PulsarInitialNamespaceSetup.java
b/pulsar-broker/src/main/java/org/apache/pulsar/PulsarInitialNamespaceSetup.java
index 891aa1aa421..912f43958f4 100644
---
a/pulsar-broker/src/main/java/org/apache/pulsar/PulsarInitialNamespaceSetup.java
+++
b/pulsar-broker/src/main/java/org/apache/pulsar/PulsarInitialNamespaceSetup.java
@@ -44,6 +44,11 @@ public class PulsarInitialNamespaceSetup {
"--configuration-store" }, description = "Configuration Store
connection string", required = true)
private String configurationStore;
+ @Option(names = {"-cmscp",
+ "--configuration-metadata-store-config-path"}, description =
"Configuration Metadata Store config path",
+ hidden = false)
+ private String configurationStoreConfigPath;
+
@Option(names = {
"--zookeeper-session-timeout-ms"
}, description = "Local zookeeper session timeout ms")
@@ -85,8 +90,10 @@ public class PulsarInitialNamespaceSetup {
return 1;
}
- try (MetadataStore configStore = PulsarClusterMetadataSetup
- .initConfigMetadataStore(arguments.configurationStore,
arguments.zkSessionTimeoutMillis)) {
+ try (MetadataStore configStore =
PulsarClusterMetadataSetup.initConfigMetadataStore(
+ arguments.configurationStore,
+ arguments.configurationStoreConfigPath,
+ arguments.zkSessionTimeoutMillis)) {
PulsarResources pulsarResources = new PulsarResources(null,
configStore);
for (String namespace : arguments.namespaces) {
NamespaceName namespaceName = null;
diff --git
a/pulsar-broker/src/main/java/org/apache/pulsar/PulsarTransactionCoordinatorMetadataSetup.java
b/pulsar-broker/src/main/java/org/apache/pulsar/PulsarTransactionCoordinatorMetadataSetup.java
index 57b67b01191..06b68decf36 100644
---
a/pulsar-broker/src/main/java/org/apache/pulsar/PulsarTransactionCoordinatorMetadataSetup.java
+++
b/pulsar-broker/src/main/java/org/apache/pulsar/PulsarTransactionCoordinatorMetadataSetup.java
@@ -44,6 +44,11 @@ public class PulsarTransactionCoordinatorMetadataSetup {
"--configuration-store" }, description = "Configuration Store
connection string", required = true)
private String configurationStore;
+ @Option(names = {"-cmscp",
+ "--configuration-metadata-store-config-path"}, description =
"Configuration Metadata Store config path",
+ hidden = false)
+ private String configurationStoreConfigPath;
+
@Option(names = {
"--zookeeper-session-timeout-ms"
}, description = "Local zookeeper session timeout ms")
@@ -92,8 +97,10 @@ public class PulsarTransactionCoordinatorMetadataSetup {
System.exit(1);
}
- try (MetadataStoreExtended configStore = PulsarClusterMetadataSetup
- .initConfigMetadataStore(arguments.configurationStore,
arguments.zkSessionTimeoutMillis)) {
+ try (MetadataStoreExtended configStore =
PulsarClusterMetadataSetup.initConfigMetadataStore(
+ arguments.configurationStore,
+ arguments.configurationStoreConfigPath,
+ arguments.zkSessionTimeoutMillis)) {
PulsarResources pulsarResources = new PulsarResources(null,
configStore);
// Create system tenant
PulsarClusterMetadataSetup
diff --git
a/pulsar-broker/src/test/java/org/apache/pulsar/broker/zookeeper/ClusterMetadataSetupTest.java
b/pulsar-broker/src/test/java/org/apache/pulsar/broker/zookeeper/ClusterMetadataSetupTest.java
index 4267c7564fa..0c402a83e42 100644
---
a/pulsar-broker/src/test/java/org/apache/pulsar/broker/zookeeper/ClusterMetadataSetupTest.java
+++
b/pulsar-broker/src/test/java/org/apache/pulsar/broker/zookeeper/ClusterMetadataSetupTest.java
@@ -74,10 +74,11 @@ public class ClusterMetadataSetupTest {
"--cluster", "testReSetupClusterMetadata-cluster",
"--zookeeper", "127.0.0.1:" + localZkS.getZookeeperPort(),
"--configuration-store", "127.0.0.1:" +
localZkS.getZookeeperPort(),
+ "--configuration-metadata-store-config-path",
"src/test/resources/conf/zk_client_enable_sasl.conf",
"--web-service-url", "http://127.0.0.1:8080",
"--web-service-url-tls", "https://127.0.0.1:8443",
"--broker-service-url", "pulsar://127.0.0.1:6650",
- "--broker-service-url-tls","pulsar+ssl://127.0.0.1:6651"
+ "--broker-service-url-tls", "pulsar+ssl://127.0.0.1:6651"
};
PulsarClusterMetadataSetup.main(args);
SortedMap<String, String> data1 = localZkS.dumpData();
diff --git a/pulsar-broker/src/test/resources/conf/zk_client_enable_sasl.conf
b/pulsar-broker/src/test/resources/conf/zk_client_enable_sasl.conf
new file mode 100644
index 00000000000..c59e093450d
--- /dev/null
+++ b/pulsar-broker/src/test/resources/conf/zk_client_enable_sasl.conf
@@ -0,0 +1,20 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+zookeeper.sasl.client=true