Kafka Streams treats source KTables,ie, table created via `builder.table()`, differently. Instead of creating a changelog topic, the original source topic is use to avoid unnecessary data redundancy.
However, Kafka Streams does not write a correct local state checkpoint file. This results in unnecessary state restore after a rebalance. Instead of the latest committed offset, the latest restored offset is written into the checkpoint file in `ProcessorStateManager#close()`