Use BookKeeper BP-29 metadataServiceUri to configure bookie metadata store, also when using Zookeeper (#585)

This commit is contained in:
Lari Hotari 2025-03-06 09:24:07 +02:00 committed by GitHub
parent 87b48d0610
commit 80999ff1d8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -97,14 +97,22 @@ Define bookie tls certs volumes
Define bookie common config Define bookie common config
*/}} */}}
{{- define "pulsar.bookkeeper.config.common" -}} {{- 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 .Values.components.zookeeper }}
{{- if (and (hasKey .Values.pulsar_metadata "bookkeeper") .Values.pulsar_metadata.bookkeeper.usePulsarMetadataBookieDriver) }} {{- 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 # 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 # 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 }}" metadataServiceUri: "metadata-store:zk:{{ template "pulsar.zookeeper.connect" . }}{{ .Values.metadataPrefix }}"
{{- else }} {{- else }}
zkServers: "{{ template "pulsar.zookeeper.connect" . }}" # use zk+hierarchical:// when using BookKeeper's built-in metadata driver
zkLedgersRootPath: "{{ .Values.metadataPrefix }}/ledgers" metadataServiceUri: "zk+hierarchical://{{ template "pulsar.zookeeper.connect" . }}{{ .Values.metadataPrefix }}/ledgers"
{{- end }} {{- end }}
{{- else if .Values.components.oxia }} {{- else if .Values.components.oxia }}
metadataServiceUri: "{{ template "pulsar.oxia.metadata.url.bookkeeper" . }}" metadataServiceUri: "{{ template "pulsar.oxia.metadata.url.bookkeeper" . }}"