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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]