From what I've read, a Ktable directly sourced from a compacted topic is smart enough to not use a change log in the background. I must be doing something wrong though as I have a setup similar to below and I can see on the broker a topic named something like myappid-myStore-changelog is actually being utilized.
There's a sub-topology to create the compacted topic, and the simple sub-topology below for the ktable. KTable<String, String> myTable = streamsBuilder.table(myCompactedTopicName, Consumed.with(stringSerde, stringSerde), Materialized.as("myStore")); It's used to get at the state store for occasional queries. kvStore = kafkaStreams.store("myStore", QueryableStoreTypes.keyValueStore()); Am I way off base in my understanding/approach, or just missing some tweak?