Build: Let revapi compare against 1.9.0#12912
Build: Let revapi compare against 1.9.0#12912ajantha-bhat wants to merge 3 commits intoapache:mainfrom
Conversation
|
Hm this is quite unfortunate that #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 |
We just added the StorageCredential API so I think we can probably add the breakage to RevAPI, since we're really just changing the return type from For reference, this is the API breakage that RevAPI complains about: |
|
I think we should be ok accepting the revapi violation here. The storage credential serialization is scoped to runtime and the serialization through REST API is json, so I don't think this is going to be an incompatible change in practice. |
|
Let me add that I feel like we're working around Immutables here. The interface itself should be fine with Map<>. Is there a way to tell Immmutables to use a specific concrete implementation or is that not supported? It may be moot since the release has already passed, but we could always fix this and make the interface represent the original type. |
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 |
|
@nastra and @danielcweeks, thanks for the context and inputs. I have deprecated the existing interface and added new. That way it is clean and as per our guidelines. Please take another look. |
| return serializableConfig(); | ||
| } | ||
|
|
||
| SerializableMap<String, String> serializableConfig(); |
There was a problem hiding this comment.
I don't think introducing this helps either, because it also introduces breaking API changes
There was a problem hiding this comment.
It is not breaking as we deprecate the old interface and adding new interface here. But yeah, revAPI considers new interface addition also as a breaking change.
I like your approach in #12930
|
FYI I've opened #12930 as an alternative to this so that we can try and avoid the API breakage while still making ser/de properly work with Kryo |
|
closing in the favor of #12930 |
No description provided.