Re: Kafka Protocol : Compact Array or Array ?

2023-10-02 Thread Neeraj Vaidya
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  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
>>  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



Re: Kafka Protocol : Compact Array or Array ?

2023-10-02 Thread Luke Chen
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
 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


Re: Kafka Protocol : Compact Array or Array ?

2023-10-01 Thread Neeraj Vaidya
 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 
 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  

Kafka Protocol : Compact Array or Array ?

2023-09-30 Thread Neeraj Vaidya
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