From 80999ff1d826b9e3026d67e201aca3800b0a9e19 Mon Sep 17 00:00:00 2001 From: Lari Hotari Date: Thu, 6 Mar 2025 09:24:07 +0200 Subject: [PATCH] Use BookKeeper BP-29 metadataServiceUri to configure bookie metadata store, also when using Zookeeper (#585) --- charts/pulsar/templates/_bookkeeper.tpl | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/charts/pulsar/templates/_bookkeeper.tpl b/charts/pulsar/templates/_bookkeeper.tpl index 2e58201..e7ab4ce 100644 --- a/charts/pulsar/templates/_bookkeeper.tpl +++ b/charts/pulsar/templates/_bookkeeper.tpl @@ -97,14 +97,22 @@ Define bookie tls certs volumes Define bookie common config */}} {{- define "pulsar.bookkeeper.config.common" -}} +{{/* +Configure BookKeeper's metadata store (available since BookKeeper 4.7.0 / BP-29) +https://bookkeeper.apache.org/bps/BP-29-metadata-store-api-module/ +https://bookkeeper.apache.org/docs/deployment/manual#cluster-metadata-setup +*/}} +# Set empty values for zkServers and zkLedgersRootPath since we're using the metadataServiceUri to configure BookKeeper's metadata store +zkServers: "" +zkLedgersRootPath: "" {{- if .Values.components.zookeeper }} {{- if (and (hasKey .Values.pulsar_metadata "bookkeeper") .Values.pulsar_metadata.bookkeeper.usePulsarMetadataBookieDriver) }} # there's a bug when using PulsarMetadataBookieDriver since it always appends /ledgers to the metadataServiceUri # Possibly a bug in org.apache.pulsar.metadata.bookkeeper.AbstractMetadataDriver#resolveLedgersRootPath in Pulsar code base metadataServiceUri: "metadata-store:zk:{{ template "pulsar.zookeeper.connect" . }}{{ .Values.metadataPrefix }}" {{- else }} -zkServers: "{{ template "pulsar.zookeeper.connect" . }}" -zkLedgersRootPath: "{{ .Values.metadataPrefix }}/ledgers" +# use zk+hierarchical:// when using BookKeeper's built-in metadata driver +metadataServiceUri: "zk+hierarchical://{{ template "pulsar.zookeeper.connect" . }}{{ .Values.metadataPrefix }}/ledgers" {{- end }} {{- else if .Values.components.oxia }} metadataServiceUri: "{{ template "pulsar.oxia.metadata.url.bookkeeper" . }}"