ijuma commented on code in PR #18726:
URL: https://github.com/apache/kafka/pull/18726#discussion_r1933347741


##########
clients/src/main/resources/common/message/FetchResponse.json:
##########
@@ -106,7 +106,7 @@
         ]},
         { "name": "PreferredReadReplica", "type": "int32", "versions": "11+", 
"default": "-1", "ignorable": false, "entityType": "brokerId",
           "about": "The preferred read replica for the consumer to use on its 
next fetch request."},
-        { "name": "Records", "type": "records", "versions": "0+", 
"nullableVersions": "0+", "about": "The record data."}

Review Comment:
   I disagree, the actual spec here is that this field can never be null. As I 
said, there is no Kafka implementation that doesn't work with librdkafka and 
related clients - it constitutes 30-50% of Kafka clients in the wild.
   
   What happened here is that the spec definition was actually incorrect - it 
specified the field as nullable even though it couldn't be. And that bug meant 
we accidentally broke a large part of the ecosystem. I don't see the benefit in 
not fixing the spec.
   
   Again, let's discuss a concrete use case - you're worried that the Java 
consumer might break because there is an unknown Kafka broker that implements 
this differently?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to