When we do eager deployment all intermediate stream/partition locations are already known when scheduling an intermediate stream/partition consumer. Nonetheless we saw tasks with "unknown input channels" that were updated lazily during runtime. This was caused by a wrong producer execution state check requiring the producers to be in RUNNING or DEPLOYING state when creating consumer input channels.
(We had a bogus fix for this in
FLINK-3232. With that "fix" we actually did not fix anything correctly and instead doubled the number of schedule or update consumer messages we sent.)