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` in
a `ConfigResponse`.
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]