Hello everyone, When I was running the RCK against Lakekeeper, I noticed that RCK verifies not only the exception type but also the error message. RCK verifies the messages as they are written in the Java implementation, and since Lakekeeper uses iceberg-rust, we have different error messages [1] Java [2] Rust. However, the error messages are written differently in other clients as well [3] Python [4] Go.
This could become a broader compatibility issue as we see more REST implementations built on different language foundations. Should we standardize the error messages across all implementations, make RCK more permissive by focusing only on exception types, or handle this at the REST server implementation level where each implementation adapts to match RCK expectations? Are there other solutions I haven't considered? - https://github.com/apache/iceberg/blob/fa80ba787af776f516e772f27bf746756de93b70/core/src/main/java/org/apache/iceberg/UpdateRequirement.java#L186 - https://github.com/apache/iceberg-rust/blob/e7160df4a0cb8f2f6ce12681053e8cb1a43b74e1/crates/iceberg/src/catalog/mod.rs#L711 - https://github.com/apache/iceberg-python/blob/main/pyiceberg/table/update/__init__.py#L801 - https://github.com/apache/iceberg-go/blob/b4babc8b919258be7b25f5cc295fc68a458f9559/table/requirements.go#L268 André Anastácio