Repository navigation
[Helm] Pulsar 4.0.x incompatible with milvus-helm 5.0.x — bookkeeper.conf and OTEL config not updated for 4.x class paths — cross-ref: milvus-helm#318 #53904
Replies: 7 comments 10 replies
|
Both can be worked around from values, without forking the chart. I reproduced both crashes with pulsarv3:
bookkeeper:
configData:
PULSAR_PREFIX_statsProviderClass: org.apache.pulsar.metrics.prometheus.bookkeeper.PrometheusMetricsProvider
autorecovery:
configData:
PULSAR_PREFIX_statsProviderClass: org.apache.pulsar.metrics.prometheus.bookkeeper.PrometheusMetricsProvider
broker:
configData:
PULSAR_EXTRA_OPTS: "-Dpulsar.allocator.exit_on_oom=true -Dio.netty.recycler.maxCapacityPerThread=4096 -Dotel.propagators=tracecontext,baggage"
proxy:
configData:
PULSAR_EXTRA_OPTS: "-Dpulsar.allocator.exit_on_oom=true -Dio.netty.recycler.maxCapacityPerThread=4096 -Dotel.propagators=tracecontext,baggage"Bookie. The bundled chart hardcodes Broker. Neither milvus-helm nor the bundled Pulsar chart sets anything OpenTelemetry-related, so the |
|
Hi @jmrplens , thanks for the update. I will get this applied in the environment and let you know the update. Meanwhile, I have a query for you. I understand you had provided the details for pulsar 3.0.7. Currently I had upgraded it to 3.0.17 to fix another CVE ID. Will this version bump will have any impact with the solution provided by you? I would like to reverify once before I perform this in the environment. |
|
Thanks for the insight. I ran it now in the system and below are the events actually happened during the upgrade attempt Worked with your overrides (came up 1/1 on 4.0.13): milvus-pulsarv3-bookie-0/1/2 — PULSAR_PREFIX_statsProviderClass was correctly rendered second in the ConfigMap and applied. milvus-pulsarv3-broker-1, milvus-pulsarv3-proxy-1 failed with: sh: can't create status: Permission denied Verified inside a running 4.0.13 bookie: touch /pulsar/testfile → Unknown system error (RO filesystem semantics for that dir). Bookie doesn't hit it because its args don't contain echo "OK" > status — only broker/proxy do. The ConfigMap overrides are correct — they render as expected — but there's a third issue the values patch doesn't cover: the broker/proxy pod command touches /pulsar/status from a non-writable dir on the 4.0.13 image. |
|
Thanks @jmrplens for the update. Since, the earlier one errored out, I had reverted back to the older version. I will check this and keep you posted. |
|
Also this approach needs attention while progressing to higher environment by incorporating these changes in the IaC pipeline. |
|
Hi @jmrplens - I had tested it with the fix provided by you. It had fixed the issue surfaced earlier, but ended up with new one. Below is the update. FAILED on a 4th workaround we hadn't anticipated echo ruok | nc -q 1 localhost 2181 | grep imok |
|
Hi @jmrplens - Did you had a chance to check on the above issue? |
Uh oh!
There was an error while loading. Please reload this page.
Context
Posting here to get broader visibility, as the original issue on the milvus-helm
repo has not received a response in over a week.
Original issue: zilliztech/milvus-helm#318
Summary
Upgrading the Pulsar image tag to any 4.0.x release causes two independent
CrashLoopBackOfffailures in a milvus-helm 5.0.x deployment on EKS. This isa blocker for CVE remediation — Pulsar 3.0.x LTS reached security EOL on
May 2, 2026, and the only supported LTS branch with a patched OpenSSL base
image is 4.0.x (supported through October 2027).
Environment
Failures Observed
1. Bookie — ClassNotFoundException
org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider
The class path was renamed to:
org.apache.pulsar.metrics.prometheus.bookkeeper.PrometheusMetricsProvider
in Pulsar 4.0.10 (ref: apache/pulsar PR #1868). The chart's
bookkeeper.confstill references the old path, causing the Bookie pod to crash on startup.
2. Broker — Unrecognized OTEL propagator
Unrecognized value for otel.propagators: xray
The AWS X-Ray OTEL propagator class was removed from the Pulsar 4.x classpath.
The chart's broker OTEL config still expects it, causing the Broker pod to
crash on startup.
Security Context
This is not a cosmetic upgrade. Pulsar 3.0.x LTS is past its 36-month security
support window (EOL: May 2, 2026). CVE-2026-45447 (OpenSSL heap use-after-free,
USN-8414-1, disclosed June 9, 2026) cannot be remediated on any 3.0.x base image.
Pulsar 4.0.x is the only currently supported LTS branch with a patched OpenSSL
base. The incompatibility in milvus-helm effectively blocks security compliance
for any production Milvus deployment using the Pulsar message store.
Ask
bookkeeper.confstatsProviderClassto the Pulsar 4.x class pathxraypropagator optional/configurableAny interim workaround (e.g., a values override that patches these configs without
forking the chart) would also be very welcome while a fix is in progress.
Cross-posted from milvus-helm#318. Happy to test any proposed fix or PR against
our EKS environment.
All reactions