[ 
https://issues.apache.org/jira/browse/KAFKA-7549?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16678602#comment-16678602
 ] 

Dong Lin edited comment on KAFKA-7549 at 11/7/18 6:25 PM:
----------------------------------------------------------

I actually think it is reasonable for client to receive InvalidRequestException 
if client sends ProduceRequest V3 with zstd codec.

We can not send UnsupportedCompressionTypeException because 
UNSUPPORTED_COMPRESSION_TYPE exception because if ProduceRequest is V3 then 
there is no guarantee that client library can understand the error code 76. The 
meaning of UnsupportedVersionException is currently "The version of API is not 
supported", which does not match the scenario here because ProduceRequest V3 is 
actually supported by the broker. InvalidRequestException is reasonable because 
the issue here is that ProduceRequest V3 is used with zstd codec which makes 
the entire request invalid.

[~edenhill] [~dongjin] By saying "client side bug" in the Jira description, is 
this bug in Apache Kafka or in another custom client library? If it is in 
Apache Kafka, is there Jira that tracks this issue?

[~ijuma] [~hachikuji] Does this sound reasonable?


was (Author: lindong):
I actually think it is reasonable for client to receive InvalidRequestException 
if client sends ProduceRequest V3 with zstd codec.

We can not send UnsupportedCompressionTypeException because 
UNSUPPORTED_COMPRESSION_TYPE exception because if ProduceRequest is V3 then 
there is no guarantee that client library can understand the error code 76. The 
meaning of UnsupportedVersionException is currently "The version of API is not 
supported", which does not match the scenario here because ProduceRequest V3 is 
actually supported by the broker. InvalidRequestException is reasonable because 
the issue here is that ProduceRequest V3 is used with zstd codec which makes 
the entire request invalid.

[~edenhill] [~dongjin] By saying "client side bug" in the Jira description, is 
this bug in Apache Kafka or in another custom client library? If it is in 
Apache Kafka, is there Jira that tracks this issue?

 

 

 

> Old ProduceRequest with zstd compression does not return error to client
> ------------------------------------------------------------------------
>
>                 Key: KAFKA-7549
>                 URL: https://issues.apache.org/jira/browse/KAFKA-7549
>             Project: Kafka
>          Issue Type: Bug
>          Components: compression
>            Reporter: Magnus Edenhill
>            Assignee: Lee Dongjin
>            Priority: Major
>             Fix For: 2.1.0
>
>
> Kafka broker v2.1.0rc0.
>  
> KIP-110 states that:
> "Zstd will only be allowed for the bumped produce API. That is, for older 
> version clients(=below KAFKA_2_1_IV0), we return UNSUPPORTED_COMPRESSION_TYPE 
> regardless of the message format."
>  
> However, sending a ProduceRequest V3 with zstd compression (which is a client 
> side bug) closes the connection with the following exception rather than 
> returning UNSUPPORTED_COMPRESSION_TYPE in the ProduceResponse:
>  
> {noformat}
> [2018-10-25 11:40:31,813] ERROR Exception while processing request from 
> 127.0.0.1:60723-127.0.0.1:60656-94 (kafka.network.Processor)
> org.apache.kafka.common.errors.InvalidRequestException: Error getting request 
> for apiKey: PRODUCE, apiVersion: 3, connectionId: 
> 127.0.0.1:60723-127.0.0.1:60656-94, listenerName: ListenerName(PLAINTEXT), 
> principal: User:ANONYMOUS
> Caused by: org.apache.kafka.common.record.InvalidRecordException: Produce 
> requests with version 3 are note allowed to use ZStandard compression
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to