question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Bookies failing to start with Helm chart

See original GitHub issue

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 https://github.com/apache/pulsar/pull/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.

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Reactions:3
  • Comments:5 (4 by maintainers)

github_iconTop GitHub Comments

3reactions
Lanayxcommented, Jun 21, 2020

Just got this issue with clean 2.6.0 installation, but only in pulsar-recovery pod (inside init container)

020-06-21T21:57:17.304727748Z [conf/bookkeeper.conf] Applying config httpServerEnabled = true
2020-06-21T21:57:17.30478306Z [conf/bookkeeper.conf] Applying config httpServerPort = 8000
2020-06-21T21:57:17.304789783Z [conf/bookkeeper.conf] Applying config statsProviderClass = org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider
2020-06-21T21:57:17.30479629Z [conf/bookkeeper.conf] Applying config useHostNameAsBookieID = true
2020-06-21T21:57:17.304801054Z [conf/bookkeeper.conf] Applying config zkLedgersRootPath = /ledgers
2020-06-21T21:57:17.304805717Z [conf/bookkeeper.conf] Applying config zkServers = pu-pulsar-zookeeper:2181
2020-06-21T21:57:17.454698773Z JMX enabled by default
2020-06-21T21:57:19.346682488Z Error: Could not find or load main class "
2020-06-21T21:57:22.383129167Z JMX enabled by default
1reaction
sijiecommented, Jun 26, 2020

@Lanayx @rvashishth: Please use the latest master of https://github.com/apache/pulsar-helm-chart which includes the change of apache/pulsar-helm-chart#26. We will release a helm chart and publish it to https://pulsar.apache.org/charts.

Read more comments on GitHub >

github_iconTop Results From Across the Web

[GitHub] [pulsar] sijie closed issue #7243: Bookies failing to start with ...
[GitHub] [pulsar] sijie closed issue #7243: Bookies failing to start with Helm chart · GitBox Thu, 13 Aug 2020 01:00:32 -0700.
Read more >
Error: Bookie failing to come up - ITOM Practitioner Portal
The Bookkeeper pod fails to start when you restart the server in the ... Run the helm upgrade command with --reuse-values to reuse...
Read more >
git projects / pulsar-helm-chart.git / log - Apache's git
Our helm chart is out of date. I propose we make a breaking change for the monitoring solution and start using the `kube-prometheus-stack`...
Read more >
Official Apache Pulsar Helm Chart - Google Git
Mirrored from https://github.com/apache/pulsar-helm-chart.git ... IOException: Error open RocksDB database at org.apache.bookkeeper.bookie.storage.ldb.
Read more >
Running Apache Pulsar in Kubernetes // DoK Talks #79
We will cover some of the features of Pulsar that make it "cloud-native" and easy to run in Kubernetes as well as some...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found