On Tue, Dec 14, 2021, at 10:13, David Arthur wrote:
> Thanks for the KIP, Colin!
>
> 4) For the various "Type" fields in the AccessControlEntityRecord, is it
> worth explicitly enumerating the allowed types in the KIP? E.g.,
> PermissionType = {Any, Deny, Allow}. If these are listed out in another
> KIP, maybe we can just reference that.
>

Hi David,

Good question. The values should be the same as those used in the ACL RPCs 
(CreateAclsRequest, etc.) I will include this information in the KIP.

> 5) You mention "StandardAuthorizer must load all the records atomically as
> a group" when loading from a snapshot. I was under the impression that
> snapshot loads were already effectively atomic operations. That is, we
> recalculate the whole MetadataImage from the snapshot and publish it to
> components. Can you clarify what you mean here? Is this to do with how
> StandardAuthorizer handles the published metadata?
>

Snapshots are still replayed one record at a time, though. I was pointing out 
that we don't want to do this for ACLs since we want to encounter only valid 
states.

> 6) When we handle Create/Delete ACL RPCs on the controller, I think
> the operations should be written as atomic batches to the metadata log.
> Should we mention this here?

Hmm... I'm not sure if batching has an impact since these are single records. I 
hope I'm not issing something.

best,
Colin

>
> Thanks!
> David
>
>
>
>
>
>
>
> On Tue, Dec 14, 2021 at 11:27 AM José Armando García Sancio
> <jsan...@confluent.io.invalid> wrote:
>
>> Thanks for the additional information Colin.
>>
>> On Mon, Dec 13, 2021 at 4:43 PM Colin McCabe <cmcc...@apache.org> wrote:
>> >
>> > Hi José,
>> >
>> > I think these are good questions. We have a few situations like this
>> where there is something brokers have to know before they can contact the
>> controller quorum -- or something controllers have to know before they can
>> accept broker connections. Basically, the bootstrapping problem.
>> >
>> > Offhand, I can think of a few scenarios like this:
>> > 1. If you need certain ACLs to be present, you need a way of setting
>> those up on the controller before starting the controller quorum for the
>> first time.
>> > 2. If you are using SCRAM for the broker user, you need some way of
>> setting that up before starting up the cluster for the first time.
>> > 3. If you are using KIP-226 dynamic broker configurations to configure
>> the SSL settings for the connection to the controller, you need a way of
>> setting those up before starting the broker.
>>
>> It sounds to me like KIP-801 is assuming that this "bootstrapping KIP"
>> will at least generate a snapshot with this information in all of the
>> controllers. I would like to understand this a bit better. Do you
>> think that we need to write this "bootstrapping KIP" as soon as
>> possible?
>>
>> Thanks
>> -José
>>
>
>
> -- 
> -David

Reply via email to