I think it's necessary to mention the target versions in the proposal.

I'd say that this proposal shouldn't go into branch-3.0 since it
breaks existing implementations of the AuthorizationProvider
interface.
This could be avoided by providing a compatible default implementation
of the interface method that delegates to the existing method.
I searched open-source repositories for implementations, and it seems
that there's at least https://github.com/CleverCloud/biscuit-pulsar,
which implements the AuthorizationProvider interface.

-Lari

On Fri, 27 Sept 2024 at 11:12, Baodi Shi <ba...@apache.org> wrote:
>
> +1
>
> @lari For this type of improved API, which is clearer and more
> decoupled, can we include it in version 3.3?
>
> Thanks,
> Baodi Shi
>
> Lari Hotari <lhot...@apache.org> 于2024年9月27日周五 00:42写道:
> >
> > Thanks for driving this Jiwei.
> > This will be useful in addressing the current challenge with concurrent 
> > modifications.
> > Is this targeted for Pulsar 4.0?
> >
> > -Lari
> >
> > On 2024/09/26 14:04:35 guo jiwei wrote:
> > > Hello,
> > >
> > > I have created a PIP for supporting granting/revoking permissions for
> > > multiple topics.
> > >
> > > In AuthorizationProvider, the authorization interface
> > > `grantPermissionAsync(TopicName topicName, Set<AuthAction> actions, String
> > > role, String authDataJson)` currently only supports granting permissions 
> > > to
> > > a single topic.
> > > If multiple topics need to be authorized under a namespace, the client
> > > needs to call the authorization interface concurrently.
> > > Since the permissions information are stored in the namespace-level
> > > policies, and multiple topics may be on different brokers, concurrent
> > > authorization will cause concurrent modification exceptions.
> > > Therefore, supporting granting/revoking permissions for multiple topics is
> > > very friendly.
> > >
> > > PIP-383: https://github.com/apache/pulsar/pull/23355
> > >
> > > Regards
> > > Jiwei Guo (Tboy)
> > >

Reply via email to