+1 for "Preemptive".

Le ven. 27 mai 2022 à 00:22, Neng Lu <freen...@gmail.com> a écrit :

> Hi All,
>
> Would "Preemptive" Mode make sense?
>
> On Wed, May 11, 2022 at 8:56 AM Matteo Merli <matteo.me...@gmail.com>
> wrote:
>
> > +1
> >
> >
> > On Tue, May 10, 2022 at 5:56 AM Enrico Olivelli <eolive...@gmail.com>
> > wrote:
> >
> > > Hello,
> > > I created a new PIP about a new AccessMode for the Producer.
> > > https://github.com/apache/pulsar/issues/15528
> > >
> > > This is the PR: https://github.com/apache/pulsar/pull/15488
> > >
> > > Honestly I don't like the name "ExclusiveWithFencing", any suggestion
> > > is really appreciated.
> > >
> > > Enrico
> > >
> > > Motivation
> > >
> > > In PIP-68 we introduced two access modes for the Producer:
> > >
> > > Exclusive: The producer is the only one who can publish to the topic.
> > > Fail if there is another Exclusive Producer connected to the topic
> > > while creating the new Producer.
> > > WaitForExclusive: Like Exclusive, but instead of Failing we are going
> > > to wait for the current Exclusive Producer to disconnect.
> > >
> > > Those two modes are very powerful and allow you to perform some kind
> > > of Locking on a topic.
> > >
> > > We are missing a third more, in which the Producer always succeeds to
> > > acquire the Exclusive lock on the topic by fencing out any other
> > > Producer that is connected, even the current Exclusive Producer and
> > > the other Producers waiting in WaitForExclusive mode.
> > >
> > > Goal
> > >
> > > The modes that are available with PIP-68 require a writer to acquire
> > > the lock and release it as soon as possible in order to allow other
> > > clients to write to the topic.
> > >
> > > With the new mode it will be possible to implement locking in another
> > > way: the Producer holds the lock until someone else steals it. This
> > > way when you have very low contention you can achieve better latency
> > > for writes because you don't have to acquire the lock every time you
> > > want to write,.
> > >
> > > API and Wire protocol Changes
> > >
> > > Changes:
> > >
> > > a new constant on the Wire Protocol for AccessMode
> > > a new constant in the Java Client API AccessMode#ExclusiveWithFencing
> > >
> > > Implementation
> > >
> > > The new mode will behave mostly like AccessMode#Exclusive but instead
> > > of failing in case of the presence of other Producers it will force
> > > all of the current connected Producers to be removed and invalidated
> > > (they will see ProducerFencedException).
> > >
> > > Reject Alternatives
> > >
> > > None
> > >
> > --
> > --
> > Matteo Merli
> > <matteo.me...@gmail.com>
> >
>
>
> --
> Best Regards,
> Neng
>

Reply via email to