Re: [DISCUSS] KIP-546: Add quota-specific APIs to the Admin Client, redux

2020-08-26 Thread Brian Byrne
Hi Mickael, Unfortunately, it's not actively being worked on, but I welcome anyone to come forward. Otherwise it's on my list that I'll eventually get around to. Currently the logic replicates what was being done historically with the quota configuration management, and is therefore compatible wi

Re: [DISCUSS] KIP-546: Add quota-specific APIs to the Admin Client, redux

2020-08-26 Thread Mickael Maison
Hi, Is anyone actively working on adding support for custom quotas callbacks? We should really try to get this in soon as otherwise this KIP is not usable in environments with custom quotas. It's unfortunate to have the capability on the client-side but no support on brokers. Thanks On Sat, Jan

Re: [DISCUSS] KIP-546: Add quota-specific APIs to the Admin Client, redux

2020-01-25 Thread Colin McCabe
Hi Brian, Thanks for the KIP. I think it looks good and ready for a vote! One nitpick: we try to avoid being too Java-specific when describing the protocol. Rather than referencing java.lang.Double, it would be more helpful to say something equivalent, like "the float is serialized as a 64-b

Re: [DISCUSS] KIP-546: Add quota-specific APIs to the Admin Client, redux

2020-01-24 Thread Brian Byrne
Thanks for reviewing, Anna, In the describe call, the idea is that the API will match the QuotaFilters, which can be specified in two ways for your example (filter is a type and a matching string): 1) (USER="user-1") returns both 2) (USER="user-1", CLIENT_ID="") returns just /config/users/”user-1

Re: [DISCUSS] KIP-546: Add quota-specific APIs to the Admin Client, redux

2020-01-24 Thread Anna Povzner
Hi Brian, The KIP looks good! I have one clarification question regarding the distinction between describe and resolve API. Suppose I set request quota for /config/users/”user-1”/clients/"client-1" to 100 and request quota for /config/users/”user-1” to 200. Is this correct that describeClientQuot

Re: [DISCUSS] KIP-546: Add quota-specific APIs to the Admin Client, redux

2020-01-24 Thread Brian Byrne
My apologies, Rajini. My hasty edits omitted a couple spots. I've done a more thorough scan and should have cleaned up (1) and (2). For (3), Longs are chosen because that's what the ConfigCommand currently uses, and because there's no floating point type in the RPC protocol. Longs didn't seem to b

Re: [DISCUSS] KIP-546: Add quota-specific APIs to the Admin Client, redux

2020-01-24 Thread Rajini Sivaram
Thanks Brian. Looks good. Just a few minor points: 1) We can remove *public ResolveClientQuotasOptions setOmitOverriddenValues(boolean omitOverriddenValues); * 2) Under ClientQuotasCommand, the three items are List/Describe/Alter, rename to match the new naming for operations? 3) Request quota co

Re: [DISCUSS] KIP-546: Add quota-specific APIs to the Admin Client, redux

2020-01-24 Thread Brian Byrne
Thanks again, Rajini, Units will have to be implemented on a per-config basis, then. I've removed all language reference to units and replaced QuotaKey -> String (config name). I've also renamed DescribeEffective -> Resolve, and replaced --list with --describe, and --describe to --resolve to be co

Re: [DISCUSS] KIP-546: Add quota-specific APIs to the Admin Client, redux

2020-01-24 Thread Rajini Sivaram
Hi Brian, Thanks for the responses. 4) Yes, agree that it would be simpler to leave units out of the initial design. We currently have units that are interpreted by the configurable callback. The default callback interprets the value as per-broker-bytes-per-second and per-broker-percentage-cores.

Re: [DISCUSS] KIP-546: Add quota-specific APIs to the Admin Client, redux

2020-01-23 Thread Brian Byrne
Thanks Rajini, 1) Good catch, fixed. 2) You're right. We'd need to extend ClientQuotaCallback#quotaLimit or add an alternate function. For the sake of an initial implementation, I'm going to remove '--show-overridden', and a subsequent KIP will have to propose an extents to ClientQuotaCallback to

Re: [DISCUSS] KIP-546: Add quota-specific APIs to the Admin Client, redux

2020-01-23 Thread Rajini Sivaram
Hi Brian, Thanks for the KIP. Looks good, hope we finally get this in! A few comments: 1) All the Admin interface methods seem to be using method names starting with upper-case letter, should be lower-case to be follow conventions. 2) Effective quotas returns not only the actual effective quota,

Re: [DISCUSS] KIP-546: Add quota-specific APIs to the Admin Client, redux

2020-01-22 Thread Brian Byrne
Hi Jason, I agree on (1). It was Colin's original suggestion, too, but he had changed his mind in preference for enums. Strings are the more generic way for now, so hopefully Colin can share his thinking when he's back. The QuotaFilter usage was an error, this has been corrected. For (2), the con

Re: [DISCUSS] KIP-546: Add quota-specific APIs to the Admin Client, redux

2020-01-21 Thread Jason Gustafson
Hi Brian, Thanks for the proposal! I have a couple comments/questions: 1. I'm having a hard time understanding the point of `QuotaEntity.Type`. It sounds like this might be just for convenience since the APIs are using string types. If so, I think it's a bit misleading to represent it as an enum.

Re: [DISCUSS] KIP-546: Add quota-specific APIs to the Admin Client, redux

2020-01-17 Thread Brian Byrne
Thanks Colin, I've updated the KIP with the relevant changes. On Fri, Jan 17, 2020 at 10:17 AM Colin McCabe wrote: > I thought about this a little bit more, and maybe we can leave in the > enums rather than going with strings. But we need to have an "UNKNOWN" > value for all the enums, so that

Re: [DISCUSS] KIP-546: Add quota-specific APIs to the Admin Client, redux

2020-01-17 Thread Colin McCabe
Hi Brian, Thanks again for working on this. It's looking good. I thought about this a little bit more, and maybe we can leave in the enums rather than going with strings. But we need to have an "UNKNOWN" value for all the enums, so that if a value that the client doesn't understand is returne

Re: [DISCUSS] KIP-546: Add quota-specific APIs to the Admin Client, redux

2020-01-14 Thread Brian Byrne
Hi Colin, Your feedback is appreciated, thank you. On Tue, Jan 14, 2020 at 11:34 AM Colin McCabe wrote: > This is probably a nitpick, but it would be nice to specify that this list > is in order of highest priority to lowest. > Done. > Hmm. Maybe --show-overridden or --include-overridden is

Re: [DISCUSS] KIP-546: Add quota-specific APIs to the Admin Client, redux

2020-01-14 Thread Colin McCabe
Hi Brian, Thanks for the KIP. The KIP says: > As represented by the current ZK node structure, the order in which quotas > are matched are as follows. Note is a specified user principal, > is a specified client ID, and is a special default > user/client ID that matches to all users or

[DISCUSS] KIP-546: Add quota-specific APIs to the Admin Client, redux

2019-12-11 Thread Brian Byrne
Hello all, I'm reviving the discussion for adding a quotas API to the admin client by submitting a new proposal. There are some notable changes from previous attempts, namely a way to deduce the effective quota for a client (entity), a way to query for configured quotas, and the concept of "units"