Hi Joshua,

Thanks for creating the proposal. I think it would be a great addition!

My only suggestion would be to make the configuration a bit more
generalized. For example, passing `priority` on the producer
builder/configuration could be a bit misleading, since one could think of
many different aspect of producers/messages priority being involved.

Instead, I propose to add an `AccessModePolicy` argument that can be
optionally passed. eg. something like:

```
Producer<T> producer = client.newProducer(Schema.JSON(T.class))
      .topic("my-topic")
      .accessMode(ProducerAccessMode.WaitForExclusive, new
PriorityOrdering(100))
      .create();
````



--
Matteo Merli
<[email protected]>


On Fri, Sep 5, 2025 at 2:21 PM Joshua <[email protected]>
wrote:

> Hi!
>
> PIP 440 proposal changes the behavior of the WaitForExclusive priority
> queue. Currently, the queue is first-in-first out, which is perfectly fine
> for leader elections where only one or two exclusive topics are being
> balanced across nodes. However, in cases where large amounts of topics
> (with large amounts of associated work required as part of exclusivity),
> producers may wish to exert more control over their place in line.
>
> The PIP can be read here: https://github.com/apache/pulsar/pull/24711
> (Rendered: https://github.com/Mooshua/pulsar/blob/pip-440/pip/pip-440.md)
>
> Thanks,
> Josh
>
> Joshua Nabors
>
> marionberry.net
>

Reply via email to