Re: [DISCUSS] KIP-1042 support for wildcard when creating new acls

2024-08-02 Thread Claude Warren, Jr
I have created 2 branches in my repository to implement the Trie changes. - https://github.com/Claudenw/kafka/compare/trunk...StandardAuthorizer_refactor refactors the authorizer code to make it easy to implement a different Authorizor data block that plugs into the StandardAuthorizo

Re: [DISCUSS] KIP-1042 support for wildcard when creating new acls

2024-08-02 Thread Claude Warren, Jr
> > Proposed Changes > This KIP suggests to support *MATCH* resource pattern type when creating > a new kafka acl. > I do not think we need the MATCH support within the Authorizer as noted in my earlier message. *Main changes include :* > >- Adding support for MATCH when creating new acl in a

Re: [DISCUSS] KIP-1042 support for wildcard when creating new acls

2024-08-02 Thread Claude Warren, Jr
I do not think we need to add the additional MATCH and ALL into the Authorizer. Currently we have - Literal - matches exactly - Prefix - Will match patterns that are longer as long as the part specified matches exactly. The Trie proposal works well with just these two. The wildcard is

Re: [DISCUSS] KIP-1042 support for wildcard when creating new acls

2024-07-29 Thread Claude Warren, Jr
I have updated the KIP with results from the Trie implementation and they are dramatic to say the least. For most searches they are at least an order of magnitude faster and use less memory. The wildcard search is not a regular expression but rather a file type wild card (*=1 or more character, ?

Re: [DISCUSS] KIP-1042 support for wildcard when creating new acls

2024-06-03 Thread Muralidhar Basani
Hi, Just bumping this thread again. It seems no concerns have been raised so far. I'll request votes in 2 weeks. Thanks, Murali On Tue, May 28, 2024 at 1:24 PM Muralidhar Basani < muralidhar.bas...@aiven.io> wrote: > Hi all, > > Any other suggestions or objections to the proposal? > > Thanks,

Re: [DISCUSS] KIP-1042 support for wildcard when creating new acls

2024-05-28 Thread Muralidhar Basani
Hi all, Any other suggestions or objections to the proposal? Thanks, Murali On Thu, May 23, 2024 at 10:18 AM Muralidhar Basani < muralidhar.bas...@aiven.io> wrote: > Thanks Greg. > I have updated KIP with details on optimisation of LITERAL too. > > Regarding limitations in performance by introd

Re: [DISCUSS] KIP-1042 support for wildcard when creating new acls

2024-05-23 Thread Muralidhar Basani
Thanks Greg. I have updated KIP with details on optimisation of LITERAL too. Regarding limitations in performance by introducing MATCH is definitely a question. - By optimizing LITERAL and PREFIX we are gaining a few nano secs I think. (described in kip) - MATCH can be introduced only with a confi

Re: [DISCUSS] KIP-1042 support for wildcard when creating new acls

2024-05-21 Thread Greg Harris
Hi Murali, I don't have a trie library in mind. I looked at the current implementation of the StandardAuthorizer and found that we are already benefiting from the prefix structure in the implementation [1]. The current implementation appears to be a TreePSet [2]. Now, we've already made this trad

Re: [DISCUSS] KIP-1042 support for wildcard when creating new acls

2024-05-21 Thread Muralidhar Basani
@greg which library of trie you were thinking of ? There is one in the commons-collection I see. On Fri, May 17, 2024 at 3:55 PM Claude Warren wrote: > > > > This has implications for execution complexity: If we can't compute > > whether two patterns overlap, then we need to run both of them on

Re: [DISCUSS] KIP-1042 support for wildcard when creating new acls

2024-05-17 Thread Claude Warren
> > This has implications for execution complexity: If we can't compute > whether two patterns overlap, then we need to run both of them on each > piece of input to test if they both match. Under the current > LITERAL/PREFIX system, we can optimize execution with a trie, but that > option wouldn't

Re: [DISCUSS] KIP-1042 support for wildcard when creating new acls

2024-05-17 Thread Muralidhar Basani
Updated KIP with the provided suggestions from Greg and Claude. We shall optimize matching acls with Trie based solutions for PREFIXED and LITERAL acls. Basically we define trie structures, populate trie and retrieve acls which seems very efficient. This way, we aim to reduce the time to authorize

Re: [DISCUSS] KIP-1042 support for wildcard when creating new acls

2024-05-16 Thread Claude Warren
I think that a Trie solution for LITERAL and PREFIX would be faster than attempting to use the wildcard search strategies on them. The reasons being - that the wildcard search strategy may return some non-matching (false positive) patterns that have to be checked and ignored. - the size

Re: [DISCUSS] KIP-1042 support for wildcard when creating new acls

2024-05-15 Thread Murali Basani
Thank you Haruki for the feedback. There are certainly many such use cases where customers ended up creating custom authorizers to handle these MATCH based patterns. And regarding updating method matchingAcls, Claude updated the KIP mentioning an approach, which definitely optimizes the flow, but c

Re: [DISCUSS] KIP-1042 support for wildcard when creating new acls

2024-05-07 Thread Claude Warren, Jr
I have updated KIP-1042 with a proposal for how to reduce the time spent looking for matching wildcard patterns. Experimentally I see a reduction of 66-75% execution time. On Mon, May 6, 2024 at 9:03 PM Greg Harris wrote: > Hi Murali, > > Thanks for the KIP! > > I think I understand the motivat

Re: [DISCUSS] KIP-1042 support for wildcard when creating new acls

2024-05-06 Thread Greg Harris
Hi Murali, Thanks for the KIP! I think I understand the motivation for this KIP in situations where there are a "cross product" of topics for two or more variables X and Y, and want to write ACLs for each of the variable axes. If you format your topics "X-Y-suffix", it's not easy to write rules t

Re: [DISCUSS] KIP-1042 support for wildcard when creating new acls

2024-05-06 Thread Claude Warren
I have an idea for how to reduce the time for ACL lookups in general and particularly where wildcards are involved using sequence characterization techniques from bioinformatics. But I need a set of ACL patterns and associated topics to test with. On Fri, May 3, 2024 at 2:45 PM Haruki Okada wrot

Re: [DISCUSS] KIP-1042 support for wildcard when creating new acls

2024-05-03 Thread Haruki Okada
Hi, Murali. First, could you add the KIP-1042 to the index ( https://cwiki.apache.org/confluence/display/KAFKA/Kafka+Improvement+Proposals) as well so that everyone can find it easily? I took a look at the KIP, then I have 2 questions: 1. Though the new MATCH resource pattern type may reduce the

Re: [DISCUSS] KIP-1042 support for wildcard when creating new acls

2024-05-03 Thread Claude Warren, Jr
As I wrote in [1], the ACL evaluation algorithm needs to be specified with respect to the specificity of the pattern so that we know exactly which if *-accounts-* takes precedence over nl-accounts-* or visa versa. I think that we should spell out that precedence is evaluated as follows: 1. Remove

Re: [DISCUSS] KIP-1042 support for wildcard when creating new acls

2024-05-03 Thread Claude Warren
Took me awhile to find it but the link to the KIP is https://cwiki.apache.org/confluence/display/KAFKA/KIP-1042%3A+Support+for+wildcard+when+creating+new+acls On Fri, May 3, 2024 at 10:13 AM Murali Basani wrote: > Hello, > > I'd like to propose a suggestion to our resource patterns in Kafka ACLs

[DISCUSS] KIP-1042 support for wildcard when creating new acls

2024-05-03 Thread Murali Basani
Hello, I'd like to propose a suggestion to our resource patterns in Kafka ACLs. Currently, when adding new ACLs in Kafka, we have two types of resource patterns for topics: - LITERAL - PREFIXED However, when it comes to listing or removing ACLs, we have a couple more options: - MATCH