Skip to content

Bookies failing to start with Helm chart #7243

Description

@cdbartholomew

Describe the bug
The 2.6.0 candidate load cannot be upgraded using the project Helm chart. After upgrading, the bookies will not start because the startup parameters are invalid for the init container. This is the error message seen in the pulsar-bookkeeper-verify-clusterid container :

JMX enabled by default                                                                                                                                                 │
│ Error: Could not find or load main class "         

To Reproduce
Steps to reproduce the behavior:

Deploy a minimal setup using the project Helm chart using this file:

affinity:
  anti_affinity: false
components:
  functions: false
  proxy: false
  toolset: false
  pulsar_manager: false
namespace: default
monitoring:
  prometheus: false
  grafana: false
  node_exporter: false
  alert_manager: false
bookkeeper:
  replicaCount: 2
broker:
  replicaCount: 2

And this command:

helm install pulsar -f pulsar/overrides.yaml --set namespace=default ./pulsar/

This will bring up a cluster running 2.5.0.

Then try to upgrade just the bookies to a 2.6.0 candidate image by adding this to the override file:

images:
  bookie:
      repository: kafkaesqueio/pulsar-all-v2.6.0-candidate-1
      tag: latest
      pullPolicy: IfNotPresent

And running this command:

helm upgrade pulsar -f pulsar/overrides.yaml --set namespace=default ./pulsar/ 

The the bookie will not start because the init container never completes successfully.

Expected behavior
The upgrade should succeed.

Additional context
This is caused by #6579. With this change, the environment variable values are no longer automatically applied to bkenv.sh when calling apply-config-from-env.py. However, it looks like the bookkeeper shell whatisinstanceid depends on these variables to be set.

This pattern of calling the bookeeper shell in the init container is used throughout the Helm chart, so this will actually fail most of the components of the chart. I just noticed it first on bookies.

Metadata

Metadata

Assignees

Labels

type/bugThe PR fixed a bug or issue reported a bug

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions