chia7712 commented on code in PR #16841:
URL: https://github.com/apache/kafka/pull/16841#discussion_r1714476438
##########
server-common/src/main/java/org/apache/kafka/server/common/MetadataVersion.java:
##########
@@ -244,7 +244,7 @@ public enum MetadataVersion {
* <strong>Think carefully before you update this value. ONCE A METADATA
VERSION IS PRODUCTION,
* IT CANNOT BE CHANGED.</strong>
*/
- public static final MetadataVersion LATEST_PRODUCTION = IBP_3_8_IV0;
+ public static final MetadataVersion LATEST_PRODUCTION = IBP_3_9_IV0;
Review Comment:
> It's a bit surprising that no test failed with a production MV depending
on an unstable ListOffset RPC. Do you know why?
I don't think there is the "connection" between MV and unstable ListOffset
RPC. The only condition used to enable unstable RPC is to set
`unstable.api.versions.enable=true` regardless of MV.
For another, the version supports of ListOffset is a bit weird. We don't add
the version check on both client/server side for the "specific" timestamp.
For example: version 8 (KIP-405) added `EARLIEST_LOCAL_TIMESTAMP=-4` flag.
the question are:
1. Should server return `UNSUPPORTED_VERSION` if server receive a request
with `version<8` and `timestamp=-4`?
2. Should admin check the timestamp and throw unsupported version if the
server is unsupported to that timestamp flag?
It seems to me the version check is necessary to make 1) newer server can
return suitable error to older client and 2) newer client can generate suitable
error itself rather than receive undefined result from older server.
@junrao WDYT?
--
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]