When using the kafka producer created by supplying the KafkaClientFactory with the required StreamsConfigParser and KafkaConfigParser (both built using the result of Sdk.Builder().autoDetect().build()), the resulting producer can produce messages for streams.<sometopicname>.<sometenantname> but not for scratch.<sometopicname>.<sometenantname>, which will make it throw an IllegalArgumentException when getting the StreamType from prefix.
Since only these two StreamTypes are listed, this is not a real surprise:
PUBLIC ( "stream" ),
INTERNAL ( "internal" );
Is there a conscious choice not to include scratch in the options? I was expecting a DSH compatible kafka producer to be compatible with all kafka topic types on the DSH, not just the internal and public types...
If this is not intended behaviour, I'd be willing to make a PR to resolve this issue.
When using the kafka producer created by supplying the KafkaClientFactory with the required StreamsConfigParser and KafkaConfigParser (both built using the result of
Sdk.Builder().autoDetect().build()), the resulting producer can produce messages forstreams.<sometopicname>.<sometenantname>but not forscratch.<sometopicname>.<sometenantname>, which will make it throw anIllegalArgumentExceptionwhen getting the StreamType from prefix.Since only these two
StreamTypes are listed, this is not a real surprise:Is there a conscious choice not to include
scratchin the options? I was expecting a DSH compatible kafka producer to be compatible with all kafka topic types on the DSH, not just theinternalandpublictypes...If this is not intended behaviour, I'd be willing to make a PR to resolve this issue.