I agree with that. And looking at the MetadataResponse fields it seems there has been some feature creep already here. Does the client use rack information, for example?
I guess one could do this either by introducing a new leaner message pair, used specifically enable client operation, and use MetadataRequest/MetadataResponse for describeCluster() or one could shrink MetadataRequest/MetadataResponse and introduce a new more fully featured message pair for the other stuff. I would be happy to spend some time looking into implementing this if there is an interest. /noa > On 5 Nov 2019, at 15:43, Gwen Shapira <g...@confluent.io> wrote: > > It isn't just about saving space. It increases complexity to default to > always sharing a bit of information that is really only needed in a single > use-case. > We avoid doing this as a matter of good protocol design. > Arguably, this should not really piggyback on cluster metadata at all, > since the usage is so different. > > On Tue, Nov 5, 2019, 7:29 AM Noa Resare <n...@resare.com> wrote: > >> It would certainly be possible to have the field be optional and only >> include it if some flag is set in the DescribeClusterOptions instance >> passed to Admin.describeCluster() that in turn would translate to a boolean >> in MetadataRequest indicating that we are asking for this piece of >> information. >> >> I’m not entirely sure that this extra complexity would be worth it for the >> modestly smaller response size, in a message that already contains things >> like the hostname and rack identifier per broker. >> >> /noa >> >>> On 4 Nov 2019, at 14:45, Gwen Shapira <g...@confluent.io> wrote: >>> >>> Cluster metadata is sent to clients on a very regular basis. Adding >>> start-time there seems quite repetitive. Especially considering that >>> this information is only useful in very specific cases. >>> >>> Can we add this capability to the Admin API in a way that won't impact >>> normal client workflow? >>> >>> On Mon, Nov 4, 2019 at 4:05 AM Noa Resare <n...@resare.com> wrote: >>>> >>>> Thank you for the feedback, Stanislav! >>>> >>>> I agree that it would be good to harmonise the naming, and >> start-time-ms definitely more descriptive. >>>> >>>> I have updated the proposal to reflect this, and also added the updated >> json RPC changes. Please have a look. >>>> >>>> /noa >>>> >>>>> On 1 Nov 2019, at 09:13, Stanislav Kozlovski <stanis...@confluent.io> >> wrote: >>>>> >>>>> Hey Noa, >>>>> >>>>> KIP-436 added a JMX metric in Kafka for this exact use-case, called >>>>> `start-time-ms`. Perhaps it would be useful to name this public >> interface >>>>> in the same way for consistency. >>>>> >>>>> Could you update the KIP to include the specific RPC changes regarding >> the >>>>> metadata request/responses? Here is a recent example of how to portray >> the >>>>> changes - >>>>> >> https://cwiki.apache.org/confluence/display/KAFKA/KIP-525+-+Return+topic+metadata+and+configs+in+CreateTopics+response >>>>> >>>>> Thanks, >>>>> Stanislav! >>>>> >>>>> On Mon, Oct 14, 2019 at 2:46 PM Noa Resare <n...@resare.com> wrote: >>>>> >>>>>> We are in the process of migrating the pieces of automation that >> currently >>>>>> reads and modifies zookeeper state to use the Admin API. >>>>>> >>>>>> One of the things that we miss doing this is access to the start time >> of >>>>>> brokers in a cluster which is used by our automation doing rolling >>>>>> restarts. We currently read this from the timestamp field from the >>>>>> epehmeral broker znodes in zookeeper. To address this limitation, I >> have >>>>>> authored KIP-536, that proposes adding a timestamp field to the Node >> class >>>>>> that the AdminClient.describeCluster() method returns. >>>>>> >>>>>> >>>>>> >> https://cwiki.apache.org/confluence/display/KAFKA/KIP-536%3A+Propagate+broker+timestamp+to+Admin+API >>>>>> < >>>>>> >> https://cwiki.apache.org/confluence/display/KAFKA/KIP-536:+Propagate+broker+timestamp+to+Admin+API >>>>>>> >>>>>> >>>>>> Any and all feedback is most welcome >>>>>> >>>>>> cheers >>>>>> noa >>>>> >>>>> >>>>> >>>>> -- >>>>> Best, >>>>> Stanislav >>>> >> >>