Open abeliangroupie opened 1 year ago
The issue had no activity for 30 days, mark with Stale label.
@abeliangroupie I encountered the same problem, is there any update from your side?
@abeliangroupie I encountered the same problem, is there any update from your side?
I ended up giving up on etcd and went back to ZooKeeper for now, unfortunately
@packageman What's your pulsar verison when problem here, same with this issue of pulsar 2.11? Have any test more high pulsar version?
What's your pulsar verison when problem here。
@liangyuanpeng My pulsar version is 3.1.0. Yes, same with this issue of pulsar 2.11。
Currently, the latest version is 3.1.2, I haven't tested on this version。
Search before asking
Version
OS version: Ubuntu 22.04 Pulsar version: 2.11.0 (using
apachepulsar/pulsar-all:2.11.0
Docker images)Minimal reproduce step
It's not the cleanest, but here's a Docker Compose I've been working with. Note that it spins up 3 etcd + 3 bookie + 1 broker container.
Config changes are as follows:
bookkeeper.conf:
broker.conf:
functions_worker.yml
To trigger the error, from inside the
broker
container:test_function.py
(or alternatively,touch test_function.py
will suffice for triggering the error)What did you expect to see?
The Pulsar function successfully being added (or, with the test command using
touch
above, Pulsar complaining thattest_function.ExamplePulsarFunction
doesn't exist).What did you see instead?
The error seen is:
Traceback from the
broker
image:Anything else?
I suspect the main issue is that various parts of dlog implementation are still ZooKeeper-specific, for example:
initInBroker()
inPulsarWorkerService
only setsdlogURI
ifbrokerConfig.isMetadataStoreBackedByZookeeper()
is trueinitializeCluster()
inPulsarClusterMetadataSetup
(forbin/pulsar-admin initialize-cluster-metadata
) only initializes the dlog namespace ifif (localStore instanceof ZKMetadataStore && configStore instanceof ZKMetadataStore) {
is true. This one means that settinginitializedDlogMetadata: true
infunctions_worker.yml
doesn't help, since the metadata's not actually set up.This all means that by the time
uploadToBookKeeper()
is called inWorkerUtils
,dlogNamespace
is null anddlogNamespace.logExists()
fails.Are you willing to submit a PR?