Matt Allwood created KAFKA-14537: ------------------------------------ Summary: Materialized with / as ordering issues Key: KAFKA-14537 URL: https://issues.apache.org/jira/browse/KAFKA-14537 Project: Kafka Issue Type: Bug Components: streams Affects Versions: 3.3.1 Environment: Java 17 Reporter: Matt Allwood
I have found a couple of cases where using Materialized .with and .as in the wrong order can either remove your configured serdes, reverting to the default configured serdes, or remove the store name, reverting to the auto-generated Kafka store name. This does not appear to affect .withKeySerde().withValueSerde pairs My most recent example is using a simple Processor node followed by a toTable() {code:java} .process(new PreferenceFlatteningProcessor(PREFERENCE_FLATTENING_STORE_NAME), PREFERENCE_FLATTENING_STORE_NAME) .toTable( Materialized .with(avroSerdes.commodityRegionValuesWithCLKeySerde, Serdes.Integer()) .as("flattenedUserPreferencesTable")) {code} (apologies for formatting - it's difficult to see in JIRA) Having the .as in the above resulted in toTable failing as it tried to use the default serdes rather than those provided. It was a confusing bug, as the error suggested that the issue was in my .process() code in serialising the record rather than in the following toTable(). As mentioned I have also encountered issues with the names going missing, but didn't raise that at the time, as it was an annoyance rather than crashing my application. -- This message was sent by Atlassian Jira (v8.20.10#820010)