nastra opened a new pull request, #12930: URL: https://github.com/apache/iceberg/pull/12930
https://github.com/apache/iceberg/pull/12882 went in right in between voting on 1.9.0 happened, which means that the API breakage wasn't detected as a breakage when it was merged. After upgrading RevAPI to compare against 1.9.0, the API breakage around Map -> SerializableMap was flagged. The underlying issue is that Immutables will always create an unmodifiable Map (which isn't configurable and is generally what you want) when the API definition is `Map`, which Kryo can't deal with, since Kryo adds back elements to the collection after deserialization. There is some hope that Kryo will eventually be able to deal with unmodifiable collections without having to use a separate kryo-serializers lib (https://github.com/EsotericSoftware/kryo/pull/1154) but we're not there yet and maybe the better option would have been to not make `StorageCredential` use Immutables in the first place due to Kryo. This PR adds the generated `ImmutableStorageCredential` class to the codebase and creates a `SerializableMap` instead of an unmodifiable one in order to work with Kryo and also to avoid the API breakage -- 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