Hi Kafka devs, I just noticed that the only implementation for org.apache.kafka.common.header.Header is RecordHeader which is exposed to the 'internal' package, and some of end users just picked the class because they don't want to create their own. IMHO it can give false signal for end users on taking risk to access internal thing.
Would we be better to provide it without having to touch internal package from end users? While I think moving RecordHeader would be tough one (allowing duplicates works though) we could do it with various approach like builder my folk suggested if we really want to hide the implementation and let end users only refer Header interface. If that's only missing spot I'm happy to take it forward. (I might request contributor role then.) If that's by intention please also let me know that we can discuss about it. Thanks! Jungtaek Lim (HeartSaVioR)