David K
10/29/2025, 12:47 PMJack Pham
10/29/2025, 5:41 PM..<subscription>-<consumerName>-DLQ) be as well, since it uses the consumer name in the producer’s name? Will consumer stop consuming message if this happen?
We are using Pulsar client 4.0.0 where producer name constructed as:
.producerName(String.format("%s-%s-%s-DLQ", this.topicName, this.subscription, this.consumerName))Romain
10/29/2025, 7:23 PMschemaValidationEnforced=true and isAllowAutoUpdateSchema=false (only under an approved process), so only admins can push schemas.
Here’s the issue: when a consumer is configured with a DeadLetterPolicy and a message fails too many times (or is negatively acknowledged repeatedly), the client will publish the message to a dead-letter topic (default name <topic>-<subscription>-DLQ) after the redelivery threshold.
That topic doesn’t necessarily exist ahead of time (unless created before), so when it’s first used it may trigger topic creation and/or schema registration. Because our namespace forbids auto schema updates and enforces schemas, this can fail - the consumer isn’t authorized to register the schema for the DLQ topic.
To work around this, we’re creating a separate namespace (e.g., <namespace>-dlq) where:
• isAllowAutoUpdateSchema=true
• schemaValidationEnforced=false
• so consumers can safely publish DLQ messages without schema conflicts.
Is this the recommended approach? Is there a cleaner way to allow DLQ schema creation while keeping production namespaces locked down?
Any official guidance or community best practices would be really appreciated 🙏
Thanks!Francesco Animali
10/30/2025, 8:52 AMChaitanya Gudipati
11/05/2025, 3:48 PMJack Pham
11/05/2025, 11:11 PMTomek Zmijowski
11/06/2025, 9:46 PMPublish ordering guarantee
Consumer ordering guarantee
Incoming replicator ordering guarantee
Outgoing replicator ordering guarantee with the topic unavailability tradeoff
Auto resource creation (tenant, namespace, partitioned-topic, subscriptions) in a green cluster
Auto topic deletion after migration successfully completed for a topic
Enable migration at cluster level or per namespace level
Stats to show topic's migration state
But the thing is that due to missing configuration steps, it's hard to test this feature. Can someone explain how to start with that?Ujjain Bana
11/10/2025, 1:57 PMbhasvij
11/11/2025, 2:29 PMNithin Subbaraj
11/12/2025, 10:47 AMLari Hotari
11/17/2025, 8:58 AMAlexandre Burgoni
11/17/2025, 9:27 AM504 Gateway Timeout from pulsar clients in a production cluster ? We are currently experiencing timeout of proxies from time to time on multiple clusters with a HTTP 504, exception message is SSL BAD PACKET LENGTH. It looks like an issue between proxy - broker connection pool, but cannot yet prove it. We're running 4.1.0
We have to reboot proxies to fix the issue for nowAlexander Brown
11/17/2025, 7:03 PMDavid K
11/17/2025, 7:45 PMBen Hirschberg
11/17/2025, 11:13 PMsensor_id, but I don’t want long-lived key to consumer stickiness. Instead, I’m trying to achieve this logic:
If no consumer is currently processing, then the next message for that sensor should be assigned to the next available consumer (round-robin or least-loaded).sensor_id = X
All while preserving ordering and ensuring no two consumers ever process the same key concurrently.
KeyShared ensures ordering and exclusivity, but it uses stable key-range hashing, so a key stays with one consumer until that consumer dies.
Is there any Pulsar pattern, config, or upcoming feature that supports dynamic per-message key assignment instead of sticky key-range ownership?
Or is this fundamentally outside Pulsar’s delivery semantics?
Thanks! 🙏Ben Hirschberg
11/18/2025, 6:12 AMKeyShare option, since we do want messages to be processed in order per Key (this is something our design requires)Sahin Sarkar
11/20/2025, 6:23 AMSahin Sarkar
11/20/2025, 7:24 AMFrancesco Animali
11/20/2025, 2:28 PMLari Hotari
11/21/2025, 7:56 AMDANIEL STRAUGHAN
11/21/2025, 7:14 PMbin/pulsar-admin functions update --tenant <TENANT> --namespace <NS> --name example-test-function --update-auth-data to perform this functionality. Is there a way to do this with the functions REST API?Jack Pham
11/22/2025, 1:15 AMorg.apache.pulsar.client.api.PulsarClientException$FeatureNotSupportedException: The feature of getting partitions without auto-creation is not supported by the broker. Please upgrade the broker to version that supports PIP-344 to resolve this issue.
Looking at the code, i see something like useFallbackForNonPIP344Brokers it seems like from 4.0.7 no longer support falling back? what version from 4.0.0 to 4.07 that have the DLQ producer name conflict fix but still supporting fallback for non PIP-344 broker?Thomas MacKenzie
11/25/2025, 1:19 AMshared subscription with 16 partitions.
We are using Pulsar 4.0.6 (via helm chart), our applications are using the Go client (commit ed7d4980034871e1db28770576151c4c05c7d0ea)
I noticed this behavior a few times already. I know that it happened once when the brokers were restarted (rollout used to move workload to other k8s nodes, no config change there), I'm not sure if that's the case when applications (Go apps) restart and I'm still trying to see if this is a server or client problem.
Is there anything that could potentially trigger that behavior? I'm thinking maybe partition discovery in the Go client, or an issue related to the partition consumer as I this there is an issue on Git: https://github.com/apache/pulsar-client-go/issues/1426
I'm not seeing anything obvious that could fix the issue in the release logs of 4.0.7 or 4.0.8 , or similar issues open on Git.
Regardless, any feedback is welcome. Thanks for the helpFlorian Federighi
11/25/2025, 6:08 PM2025-11-25T11:18:25,109+0000 [pulsar-web-41-5] ERROR org.apache.pulsar.functions.worker.rest.api.SourcesImpl - Failed process Source debezium/XXXXXX package:
org.apache.distributedlog.exceptions.BKTransmitException: Failed to transmit entry : -6
------
Caused by: org.apache.distributedlog.exceptions.BKTransmitException: Failed to write to bookkeeper; Error is (-6) Not enough non-faulty bookies available: -6
All my bookies are healthy
Do you have any ideas ?Xianle Wang
11/25/2025, 11:07 PMStanislaw Makarawec
11/26/2025, 3:49 PMGlenn Glazer
12/02/2025, 7:12 PMI have a simple script attached. Both the test host and the pulsar cluster are in the same Azure resource group.
The producer can connect fine and send a message no problem. I can verify this with pulsar-admin:
pulsar-broker-0:/pulsar$ pulsar-admin topics examine-messages -i earliest <persistent://public/default/test-topic-1764699674>
Message ID: 8:0
Publish time: 1764699674223
Event time: 0
+-------------------------------------------------+
| 0 1 2 3 4 5 6 7 8 9 a b c d e f |
+--------+-------------------------------------------------+----------------+
|00000000| 66 69 72 73 74 20 6d 65 73 73 61 67 65 20 66 6f |first message fo|
|00000010| 72 20 74 6f 70 69 63 20 74 65 73 74 2d 74 6f 70 |r topic test-top|
|00000020| 69 63 2d 31 37 36 34 36 39 39 36 37 34 |ic-1764699674 |
+--------+-------------------------------------------------+----------------+
Then the consumer can connect and create a subscription:
pulsar-broker-0:/pulsar$ pulsar-admin topics subscriptions <persistent://public/default/test-topic-1764699674>
test-subscription-1764699674
But it can't read because it times out.
Consumer log, note the error after the consumer is created:
============================================================
Apache Pulsar Basic Functionality Test
Started at: 2025-12-02T18:21:14.152135
============================================================
Topic: public/default/test-topic-1764699674
Subscription: test-subscription-1764699674
[ 0ms] Created topic and subscription names
[ 20ms] Created Pulsar client
2025-12-02 18:21:14.172 INFO [139864562563968] ClientConnection:193 | [<none> -> <pulsar://pulsar-broker-1.pulsar-broker.pulsar-poc.svc.cluster.local:6650>] Create ClientConnection, timeout=10000
2025-12-02 18:21:14.172 INFO [139864562563968] ConnectionPool:124 | Created connection for <pulsar://pulsar-broker-1.pulsar-broker.pulsar-poc.svc.cluster.local:6650>-<pulsar://pulsar-broker-1.pulsar-broker.pulsar-poc.svc.cluster.local:6650>-0
2025-12-02 18:21:14.183 INFO [139864529450688] ClientConnection:410 | [10.20.3.78:56274 -> 10.20.4.29:6650] Connected to broker
2025-12-02 18:21:14.188 INFO [139864529450688] HandlerBase:115 | [<persistent://public/default/test-topic-1764699674>, ] Getting connection from pool
2025-12-02 18:21:14.188 INFO [139864529450688] BinaryProtoLookupService:85 | Lookup response for <persistent://public/default/test-topic-1764699674>, lookup-broker-url <pulsar://pulsar-broker-1.pulsar-broker.pulsar-poc.svc.cluster.local:6650>, from [10.20.3.78:56274 -> 10.20.4.29:6650]
2025-12-02 18:21:14.188 INFO [139864529450688] ProducerImpl:147 | Creating producer for topic:<persistent://public/default/test-topic-1764699674>, producerName: on [10.20.3.78:56274 -> 10.20.4.29:6650]
2025-12-02 18:21:14.222 INFO [139864529450688] ProducerImpl:220 | [<persistent://public/default/test-topic-1764699674>, ] Created producer on broker [10.20.3.78:56274 -> 10.20.4.29:6650]
2025-12-02 18:21:14.222 INFO [139864529450688] HandlerBase:138 | Finished connecting to broker after 34 ms
[ 50ms] Created producer
[ 28ms] Sent message: 'first message for topic test-topic-1764699674'
2025-12-02 18:21:14.250 INFO [139864562563968] Client:86 | Subscribing on Topic :public/default/test-topic-1764699674
2025-12-02 18:21:14.251 INFO [139864529450688] HandlerBase:115 | [<persistent://public/default/test-topic-1764699674>, test-subscription-1764699674, 0] Getting connection from pool
2025-12-02 18:21:14.252 INFO [139864529450688] BinaryProtoLookupService:85 | Lookup response for <persistent://public/default/test-topic-1764699674>, lookup-broker-url <pulsar://pulsar-broker-1.pulsar-broker.pulsar-poc.svc.cluster.local:6650>, from [10.20.3.78:56274 -> 10.20.4.29:6650]
2025-12-02 18:21:14.260 INFO [139864529450688] ConsumerImpl:311 | [<persistent://public/default/test-topic-1764699674>, test-subscription-1764699674, 0] Created consumer on broker [10.20.3.78:56274 -> 10.20.4.29:6650]
2025-12-02 18:21:14.260 INFO [139864529450688] HandlerBase:138 | Finished connecting to broker after 8 ms
[ 10ms] Created consumer
ERROR: Timeout while trying to receive message: Pulsar error: TimeOut
2025-12-02 18:21:19.260 INFO [139864562563968] ConsumerImpl:1328 | [<persistent://public/default/test-topic-1764699674>, test-subscription-1764699674, 0] Closing consumer for topic <persistent://public/default/test-topic-1764699674>
2025-12-02 18:21:19.261 INFO [139864529450688] ConsumerImpl:1312 | [<persistent://public/default/test-topic-1764699674>, test-subscription-1764699674, 0] Closed consumer 0
Consumer closed
2025-12-02 18:21:19.261 INFO [139864562563968] ProducerImpl:800 | [<persistent://public/default/test-topic-1764699674>, pulsar-1-7] Closing producer for topic <persistent://public/default/test-topic-1764699674>
2025-12-02 18:21:19.261 INFO [139864529450688] ProducerImpl:764 | [<persistent://public/default/test-topic-1764699674>, pulsar-1-7] Closed producer 0
Producer closed
2025-12-02 18:21:19.261 INFO [139864562563968] ClientImpl:665 | Closing Pulsar client with 0 producers and 0 consumers
2025-12-02 18:21:19.261 INFO [139864504272576] ClientConnection:1336 | [10.20.3.78:56274 -> 10.20.4.29:6650] Connection disconnected (refCnt: 1)
2025-12-02 18:21:19.261 INFO [139864504272576] ClientConnection:282 | [10.20.3.78:56274 -> 10.20.4.29:6650] Destroyed connection to <pulsar://pulsar-broker-1.pulsar-broker.pulsar-poc.svc.cluster.local:6650>-0
Client closed
2025-12-02 18:21:19.261 INFO [139864562563968] ProducerImpl:757 | Producer - [<persistent://public/default/test-topic-1764699674>, pulsar-1-7] , [batching = off]
Relevant broker logs:
2025-12-02T18:21:14,186+0000 [pulsar-io-3-25] INFO org.apache.pulsar.broker.service.ServerCnx - [/10.20.3.78:56274] connected with clientVersion=Pulsar-CPP-v3.7.2, clientProtocolVersion=20, proxyVersion=null
2025-12-02T18:21:14,193+0000 [ForkJoinPool.commonPool-worker-1651] INFO org.apache.bookkeeper.mledger.impl.ManagedLedgerImpl - Opening managed ledger public/default/persistent/test-topic-1764699674
2025-12-02T18:21:14,197+0000 [bookkeeper-ml-scheduler-OrderedScheduler-11-0] INFO org.apache.bookkeeper.mledger.impl.MetaStoreImpl - Creating '/managed-ledgers/public/default/persistent/test-topic-1764699674'
2025-12-02T18:21:14,205+0000 [metadata-store-10-1] INFO org.apache.bookkeeper.client.BookieWatcherImpl - New ensemble: [pulsar-bookie-1.pulsar-bookie.pulsar-poc.svc.cluster.local:3181, pulsar-bookie-0.pulsar-bookie.pulsar-poc.svc.cluster.local:3181] is not adhering to Placement Policy. quarantinedBookies: []
2025-12-02T18:21:14,210+0000 [ForkJoinPool.commonPool-worker-1-EventThread] INFO org.apache.bookkeeper.client.LedgerCreateOp - Ensemble: [pulsar-bookie-1.pulsar-bookie.pulsar-poc.svc.cluster.local:3181, pulsar-bookie-0.pulsar-bookie.pulsar-poc.svc.cluster.local:3181] for ledger: 8
2025-12-02T18:21:14,210+0000 [BookKeeperClientWorker-OrderedExecutor-11-0] INFO org.apache.bookkeeper.mledger.impl.ManagedLedgerImpl - [public/default/persistent/test-topic-1764699674] Created ledger 8 after closed null
2025-12-02T18:21:14,217+0000 [bookkeeper-ml-scheduler-OrderedScheduler-11-0] INFO org.apache.bookkeeper.mledger.impl.ManagedLedgerFactoryImpl - [public/default/persistent/test-topic-1764699674] Successfully initialize managed ledger
2025-12-02T18:21:14,218+0000 [broker-topic-workers-OrderedExecutor-0-0] INFO org.apache.pulsar.broker.service.BrokerService - Created topic <persistent://public/default/test-topic-1764699674> - dedup is disabled (latency: 28 ms)
2025-12-02T18:21:14,223+0000 [broker-topic-workers-OrderedExecutor-4-0] INFO org.apache.pulsar.broker.service.ServerCnx - [/10.20.3.78:56274] Created new producer: Producer{topic=PersistentTopic{topic=<persistent://public/default/test-topic-1764699674>}, client=[id: 0x244e0302, L:/10.20.4.29:6650 - R:/10.20.3.78:56274] [SR:10.20.3.78, state:Connected], producerName=pulsar-1-7, producerId=0}, role: null
2025-12-02T18:21:14,253+0000 [pulsar-io-3-25] INFO org.apache.pulsar.broker.service.ServerCnx - [[id: 0x244e0302, L:/10.20.4.29:6650 - R:/10.20.3.78:56274] [SR:10.20.3.78, state:Connected]] Subscribing on topic <persistent://public/default/test-topic-1764699674> / test-subscription-1764699674. consumerId: 0, role: null
2025-12-02T18:21:14,253+0000 [ForkJoinPool.commonPool-worker-1651] INFO org.apache.bookkeeper.mledger.impl.ManagedCursorImpl - [public/default/persistent/test-topic-1764699674] Cursor test-subscription-1764699674 recovered to position 8:0
2025-12-02T18:21:14,260+0000 [bookkeeper-ml-scheduler-OrderedScheduler-11-0] INFO org.apache.bookkeeper.mledger.impl.ManagedLedgerImpl - [public/default/persistent/test-topic-1764699674] Opened new cursor: ManagedCursorImpl{ledger=public/default/persistent/test-topic-1764699674, name=test-subscription-1764699674, ackPos=8:0, readPos=8:1}
2025-12-02T18:21:14,260+0000 [bookkeeper-ml-scheduler-OrderedScheduler-11-0] INFO org.apache.bookkeeper.mledger.impl.ManagedCursorImpl - [public/default/persistent/test-topic-1764699674-test-subscription-1764699674] Rewind from 8:1 to 8:1
2025-12-02T18:21:14,260+0000 [bookkeeper-ml-scheduler-OrderedScheduler-11-0] INFO org.apache.pulsar.broker.service.persistent.PersistentSubscription - backlog for <persistent://public/default/test-topic-1764699674> - 0
2025-12-02T18:21:14,260+0000 [bookkeeper-ml-scheduler-OrderedScheduler-11-0] INFO org.apache.pulsar.broker.service.ServerCnx - [/10.20.3.78:56274] Created subscription on topic <persistent://public/default/test-topic-1764699674> / test-subscription-1764699674
2025-12-02T18:21:19,261+0000 [pulsar-io-3-25] INFO org.apache.pulsar.broker.service.ServerCnx - [/10.20.3.78:56274] Closing consumer: consumerId=0
2025-12-02T18:21:19,261+0000 [pulsar-io-3-25] INFO org.apache.pulsar.broker.service.AbstractDispatcherSingleActiveConsumer - Removing consumer Consumer{subscription=PersistentSubscription{topic=<persistent://public/default/test-topic-1764699674>, name=test-subscription-1764699674}, consumerId=0, consumerName=9ba66a395e, address=[id: 0x244e0302, L:/10.20.4.29:6650 - R:/10.20.3.78:56274] [SR:10.20.3.78, state:Connected]}
2025-12-02T18:21:19,261+0000 [pulsar-io-3-25] INFO org.apache.pulsar.broker.service.ServerCnx - [/10.20.3.78:56274] Closed consumer, consumerId=0
2025-12-02T18:21:19,262+0000 [pulsar-io-3-25] INFO org.apache.pulsar.broker.service.ServerCnx - [PersistentTopic{topic=<persistent://public/default/test-topic-1764699674}][pulsar-1-7>] Closing producer on cnx /10.20.3.78:56274. producerId=0
2025-12-02T18:21:19,262+0000 [pulsar-io-3-25] INFO org.apache.pulsar.broker.service.ServerCnx - [PersistentTopic{topic=<persistent://public/default/test-topic-1764699674}][pulsar-1-7>] Closed producer on cnx /10.20.3.78:56274. producerId=0
2025-12-02T18:21:19,262+0000 [pulsar-io-3-25] INFO org.apache.pulsar.broker.service.ServerCnx - Closed connection from /10.20.3.78:56274
2025-12-02T18:22:56,867+0000 [pulsar-io-3-27] INFO org.apache.pulsar.broker.service.ServerCnx - [/10.20.3.78:59534] connected with clientVersion=Pulsar-CPP-v3.7.2, clientProtocolVersion=20, proxyVersion=null
2025-12-02T18:23:02,569+0000 [pulsar-io-3-27] INFO org.apache.pulsar.broker.service.ServerCnx - Closed connection from /10.20.3.78:59534
Any assistance in diagnosing this would be appreciated. Otherwise, this is a full stop for us in terms of our evaluation of migrating from Kafka to Pulsar.
Best,
GlennDANIEL STRAUGHAN
12/02/2025, 7:37 PMGlenn Glazer
12/03/2025, 12:37 AMWARNING:pulsar:[10.20.3.78:34944 -> 10.20.2.147:6650] Received send error from server: org.apache.bookkeeper.mledger.ManagedLedgerException: Not enough non-faulty bookies available error code: -6
WARNING:pulsar:[10.20.3.78:34960 -> 10.20.2.147:6650] Received send error from server: org.apache.bookkeeper.mledger.ManagedLedgerException: Not enough non-faulty bookies available error code: -6
over and over until I interrupted it.
There are four bookies in this cluster.
Thoughts welcomesindhushree
12/04/2025, 8:45 AM