Currently a KStream/GlobalKTable join resets the repartition required flag to false.
I have a topology where I map a stream, join with a GlobalKTable, then groupByKey then aggregate.
The aggregate wasn't behaving correctly because it didn't force a repartition as I expected. The KStream/GlobalKTable join had reset the flag and hence I was getting the same keys in different partitions.
Since a KStream/GlobalKTable join does not itself force a repartition, it should simply propagate the flag down to the resultant KStream the same way most other operators work.