nastra commented on code in PR #9940: URL: https://github.com/apache/iceberg/pull/9940#discussion_r1523089270
########## open-api/rest-catalog-open-api.yaml: ########## @@ -1559,6 +1578,22 @@ components: type: string description: Properties that should be used as default configuration; applied before client configuration. + capabilities: + type: array + uniqueItems: true + items: + type: string + enum: Review Comment: In the spec this is just an enumeration of options. The actual impl will make sure that this is forward/backward compatible. That means old clients talking to a newer server (that returns `capabilities`) wouldn't read `capabilities`. Newer clients (that read `capabilities`) talking to old servers (not returning `capabilities`) would not call any of the optional routes and/or use those capabilities. Additionally, the implementation would make sure that adding new capabilities is safe and also forward/backward compatible. If a server sends back `[A, B, C, D]` but the client only knows about `[A, B]`, then `[C, D]` will be treated as `UNKNOWN` capabilities. If a client knows about `[A, B, C, D]` but the server only sends back `[A, B]`, the client knows that `[C, D]` are not available. All of this will be handled at the JSON level when parsing `capabilities`. -- 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: issues-unsubscr...@iceberg.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org For additional commands, e-mail: issues-h...@iceberg.apache.org