Thanks for all the work on the KIP. Given the magnitude of the KIP, I
expect that some tweaks will be made as the code is implemented, reviewed
and tested. I'm overall +1 (binding).

A few comments below:
1. It's a bit weird for kafka-storage to output a random uuid. Would it be
better to have a dedicated command for that? Also, since we use base64
encoded uuids nearly everywhere (including cluster and topic ids), it would
be good to follow that pattern instead of the less compact
"51380268-1036-410d-a8fc-fb3b55f48033".
2. This is a nit, but I think it would be better to talk about built-in
quorum mode instead of KIP-500 mode. It's more self descriptive than a KIP
reference.
3. Did we consider using `session` (like the group coordinator) instead of
`regsitration` in `broker.registration.timeout.ms`?
4. The flat id space for the controller and broker while requiring a
different id in embedded mode seems a bit unintuitive. Are there any other
systems that do this? I know we covered some of the reasons in the "Shared
IDs between Multiple Nodes" rejected alternatives section, but it didn't
seem totally convincing to me.
5. With regards to the controller process listening on a separate port, it
may be worth adding a sentence about the forwarding KIP as that is a main
reason why the controller port doesn't need to be accessible.
6. The internal topic seems to be called @metadata. I'm personally not
convinced about the usage of @ in this way. I think I would go with the
same convention we have used for other existing internal topics.
7. We talk about the metadata.format feature flag. Is this intended to
allow for single roll upgrades?
8. Could the incarnation id be called registration id? Or is there a reason
why this would be a bad name?
9. Could `CurMetadataOffset` be called `CurrentMetadataOffset` for
`BrokerRegistrationRequest`? The abbreviation here doesn't seem to help
much and makes things slightly less readable. It would also make it
consistent with `BrokerHeartbeatRequest`.
10. Should `UnregisterBrokerRecord` be `DeregisterBrokerRecord`?
11. Broker metrics typically have a PerSec suffix, should we stick with
that for the `MetadataCommitRate`?
12. For the lag metrics, would it be clearer if we included "Offset" in the
name? In theory, we could have time based lag metrics too. Having said
that, existing offset lag metrics do seem to just have `Lag` in their name
without further qualification.

Ismael

On Fri, Dec 11, 2020 at 1:41 PM Colin McCabe <cmcc...@apache.org> wrote:

> Hi all,
>
> I'd like to restart the vote on KIP-631: the quorum-based Kafka
> Controller.  The KIP is here:
>
> https://cwiki.apache.org/confluence/x/4RV4CQ
>
> The original DISCUSS thread is here:
>
>
> https://lists.apache.org/thread.html/r1ed098a88c489780016d963b065e8cb450a9080a4736457cd25f323c%40%3Cdev.kafka.apache.org%3E
>
> There is also a second email DISCUSS thread, which is here:
>
>
> https://lists.apache.org/thread.html/r1ed098a88c489780016d963b065e8cb450a9080a4736457cd25f323c%40%3Cdev.kafka.apache.org%3E
>
> Please take a look and vote if you can.
>
> best,
> Colin
>

Reply via email to