ijuma commented on code in PR #18726: URL: https://github.com/apache/kafka/pull/18726#discussion_r1976186661
########## 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: @junrao I don't think we can break so many clients in the wild. That would definitely require a KIP (and I would be against a KIP that did that immediately - it would require years of notice). So, we'd have to specify very clearly when null can or cannot be set. Your proposed definition doesn't actually cover the case that breaks librdkafka: [authz errors](https://github.com/confluentinc/librdkafka/blob/876cf4a7e4a339fda8cea1c4a650c168a351a176/tests/0119-consumer_auth.cpp#L141). My take: 1. I can remove non-nullable from the schema if people feel strongly. 2. But I will still make sure the Kafka code never returns null for records. It's actually more work to ensure the latter without the former, but I am ok going that direction. I am not ok with any solution that breaks recently released and widely deployed clients. -- 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