Skip to content

Commit b2279b3

Browse files
committed
Fix pulsar_metadata.metadataStoreAllowReadOnlyOperations with ZooKeeper
- passing -Dreadonlymode.enable=true was missing from ZooKeeper server command line - init containers for waiting ZK availability in broker / bookie startup were blocked by not enabling readonly mode on zookeeper-shell - pass "-r" on command line - note: bookkeeper server doesn't support configuring readonly ZK support
1 parent dd879cf commit b2279b3

File tree

5 files changed

+14
-10
lines changed

5 files changed

+14
-10
lines changed

charts/pulsar/templates/bookkeeper-cluster-initialize.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ spec:
7171
- |
7272
{{- if $zk:=.Values.pulsar_metadata.userProvidedZookeepers }}
7373
export PULSAR_MEM="-Xmx128M";
74-
until timeout 15 bin/pulsar zookeeper-shell -server {{ $zk }} ls {{ or .Values.metadataPrefix "/" }}; do
74+
until timeout 15 bin/pulsar zookeeper-shell -r -server {{ $zk }} ls {{ or .Values.metadataPrefix "/" }}; do
7575
echo "user provided zookeepers {{ $zk }} are unreachable... check in 3 seconds ..." && sleep 3;
7676
done;
7777
{{ else }}

charts/pulsar/templates/broker-statefulset.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -155,10 +155,10 @@ spec:
155155
{{- include "pulsar.broker.zookeeper.tls.settings" . | nindent 12 }}
156156
export PULSAR_MEM="-Xmx128M";
157157
{{- if .Values.pulsar_metadata.configurationStore }}
158-
until timeout 15 bin/pulsar zookeeper-shell -server {{ template "pulsar.configurationStore.connect" . }} get {{ .Values.pulsar_metadata.configurationStoreMetadataPrefix }}/admin/clusters/{{ template "pulsar.cluster.name" . }}; do
158+
until timeout 15 bin/pulsar zookeeper-shell -r -server {{ template "pulsar.configurationStore.connect" . }} get {{ .Values.pulsar_metadata.configurationStoreMetadataPrefix }}/admin/clusters/{{ template "pulsar.cluster.name" . }}; do
159159
{{- end }}
160160
{{- if not .Values.pulsar_metadata.configurationStore }}
161-
until timeout 15 bin/pulsar zookeeper-shell -server {{ template "pulsar.zookeeper.connect" . }} get {{ .Values.metadataPrefix }}/admin/clusters/{{ template "pulsar.cluster.name" . }}; do
161+
until timeout 15 bin/pulsar zookeeper-shell -r -server {{ template "pulsar.zookeeper.connect" . }} get {{ .Values.metadataPrefix }}/admin/clusters/{{ template "pulsar.cluster.name" . }}; do
162162
{{- end }}
163163
echo "pulsar cluster {{ template "pulsar.cluster.name" . }} isn't initialized yet ... check in 3 seconds ..." && sleep 3;
164164
done;
@@ -265,11 +265,11 @@ spec:
265265
echo "OK" > "${statusFilePath:-status}";
266266
{{- if .Values.components.zookeeper }}
267267
{{- include "pulsar.broker.zookeeper.tls.settings" . | nindent 10 }}
268-
timeout 15 bin/pulsar zookeeper-shell -server {{ template "pulsar.zookeeper.connect" . }} get {{ template "pulsar.broker.znode" . }};
268+
timeout 15 bin/pulsar zookeeper-shell -r -server {{ template "pulsar.zookeeper.connect" . }} get {{ template "pulsar.broker.znode" . }};
269269
while [ $? -eq 0 ]; do
270270
echo "broker {{ template "pulsar.broker.hostname" . }} znode still exists ... check in 10 seconds ...";
271271
sleep 10;
272-
timeout 15 bin/pulsar zookeeper-shell -server {{ template "pulsar.zookeeper.connect" . }} get {{ template "pulsar.broker.znode" . }};
272+
timeout 15 bin/pulsar zookeeper-shell -r -server {{ template "pulsar.zookeeper.connect" . }} get {{ template "pulsar.broker.znode" . }};
273273
done;
274274
{{- end }}
275275
cat conf/pulsar_env.sh;

charts/pulsar/templates/proxy-statefulset.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -136,15 +136,15 @@ spec:
136136
- |
137137
export PULSAR_MEM="-Xmx128M";
138138
{{- if $zk:=.Values.pulsar_metadata.userProvidedZookeepers }}
139-
until timeout 15 bin/pulsar zookeeper-shell -server {{ $zk }} ls {{ or .Values.metadataPrefix "/" }}; do
139+
until timeout 15 bin/pulsar zookeeper-shell -r -server {{ $zk }} ls {{ or .Values.metadataPrefix "/" }}; do
140140
echo "user provided zookeepers {{ $zk }} are unreachable... check in 3 seconds ..." && sleep 3;
141141
done;
142142
{{- else if .Values.pulsar_metadata.configurationStore }}
143-
until timeout 15 bin/pulsar zookeeper-shell -server {{ template "pulsar.configurationStore.service" . }} get {{ .Values.pulsar_metadata.configurationStoreMetadataPrefix }}/admin/clusters/{{ template "pulsar.cluster.name" . }}; do
143+
until timeout 15 bin/pulsar zookeeper-shell -r -server {{ template "pulsar.configurationStore.service" . }} get {{ .Values.pulsar_metadata.configurationStoreMetadataPrefix }}/admin/clusters/{{ template "pulsar.cluster.name" . }}; do
144144
echo "pulsar cluster {{ template "pulsar.cluster.name" . }} isn't initialized yet ... check in 3 seconds ..." && sleep 3;
145145
done;
146146
{{- else }}
147-
until timeout 15 bin/pulsar zookeeper-shell -server {{ template "pulsar.zookeeper.service" . }} get {{ .Values.metadataPrefix }}/admin/clusters/{{ template "pulsar.cluster.name" . }}; do
147+
until timeout 15 bin/pulsar zookeeper-shell -r -server {{ template "pulsar.zookeeper.service" . }} get {{ .Values.metadataPrefix }}/admin/clusters/{{ template "pulsar.cluster.name" . }}; do
148148
echo "pulsar cluster {{ template "pulsar.cluster.name" . }} isn't initialized yet ... check in 3 seconds ..." && sleep 3;
149149
done;
150150
{{- end}}

charts/pulsar/templates/pulsar-cluster-initialize.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ spec:
7979
- |
8080
{{- if $zk := .Values.pulsar_metadata.userProvidedZookeepers }}
8181
export PULSAR_MEM="-Xmx128M";
82-
until timeout 15 bin/pulsar zookeeper-shell -server {{ $zk }} ls {{ or .Values.metadataPrefix "/" }}; do
82+
until timeout 15 bin/pulsar zookeeper-shell -r -server {{ $zk }} ls {{ or .Values.metadataPrefix "/" }}; do
8383
echo "user provided zookeepers {{ $zk }} are unreachable... check in 3 seconds ..." && sleep 3;
8484
done;
8585
{{ else if .Values.components.zookeeper }}

charts/pulsar/templates/zookeeper-statefulset.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,11 @@ spec:
152152
bin/apply-config-from-env.py conf/zookeeper.conf;
153153
{{- include "pulsar.zookeeper.tls.settings" . | nindent 10 }}
154154
bin/generate-zookeeper-config.sh conf/zookeeper.conf;
155-
OPTS="${OPTS} -Dlog4j2.formatMsgNoLookups=true" exec bin/pulsar zookeeper;
155+
{{- $readOnlyMode := false -}}
156+
{{- if hasKey .Values.pulsar_metadata "metadataStoreAllowReadOnlyOperations" }}
157+
{{- $readOnlyMode = not (not .Values.pulsar_metadata.metadataStoreAllowReadOnlyOperations) -}}
158+
{{- end }}
159+
OPTS="-Dreadonlymode.enabled={{ $readOnlyMode }} ${OPTS} -Dlog4j2.formatMsgNoLookups=true" exec bin/pulsar zookeeper;
156160
ports:
157161
# prometheus needs to access /metrics endpoint
158162
- name: http

0 commit comments

Comments
 (0)