Thanks Luke. That helps. Where can I find information about schemas of all requests ?
Regards, Neeraj Sent from my iPhone > On 2 Oct 2023, at 6:03 pm, Luke Chen <show...@gmail.com> wrote: > > Hi Neeraj, > > Yes, for MetadataRequest, version 0 ~ 8, the topic is ARRAY type. After > version 9, it'll be COMPACT_ARRAY. > It's because of this definition: "flexibleVersions": "9+". > You can check KIP-482 for more information: > https://cwiki.apache.org/confluence/display/KAFKA/KIP-482 > > Thanks. > Luke > >> On Mon, Oct 2, 2023 at 5:09 AM Neeraj Vaidya >> <neeraj.vai...@yahoo.co.in.invalid> wrote: >> >> Hi All, >> I've raised this on StackOverflow as well : >> https://stackoverflow.com/questions/77208870/kafka-binary-protocol-array-or-compact-array >> In case someone can help in answering that question. >> >> Regards, >> Neeraj >> On Sunday, 1 October, 2023 at 11:32:49 am GMT+11, Neeraj Vaidya < >> neeraj.vai...@yahoo.co.in> wrote: >> >> Hi All, >> There are 2 types of arrays specified in the Kafka protocol documentation >> : ARRAY and COMPACT_ARRAY. >> But in the protocol details for the different messages, it does not >> explicitly specify if the array type is which one of the above. >> >> For example, the BNF grammar for the section for MetadataRequest API is as >> below : >> >> Metadata Request (Version: 0) => [topics] >> topics => name >> name => STRING >> >> What is the type of [topics] ? Is it ARRAY or COMPACT_ARRAY ? >> >> After playing around with the protocol using some tests, I think for >> Version:0 of this API request, the broker expects this to be of type ARRAY. >> >> But for higher versions, say v9, COMPACT_ARRAY is expected. >> >> I think the protocol really needs to be explicit and is lacking in this >> respect. >> >> Regards, >> Neeraj