Hello all, In https://github.com/apache/beam/pull/11919, there is a concern about the fact that the underlying client library's Message class uses guava's ListMultimap to represent a String -> Collection<ByteString> mapping, and this type is exposed by the interface. A couple of questions:
1) I'd like to use the same primitive value types as the underlying client library for consistency. Given that both the client library and beam io have the same maintainers, is this likely to cause long term issues? I'd really like to avoid wrapping the client library types in an almost-identical-but-not-quite wrapper just to remove guava, and I don't think removing guava from the underlying type is reasonable. 2) What is the blast radius of guava incompatibility issues? There is a presubmit that blocks beam from using unshaded guava, presumably because it has caused issues in the past. If I expose this type, and someone tries to use it with an incompatible guava version, will they fail if they try to use beam or try to use this IO specifically? Thanks! Looking forward to some feedback.
