There are 2 cases where sources are considered idle and should emit an idle StreamStatus downstream, taking Kafka consumer as example:
- The source instance was not assigned any partitions
- The source instance was assigned partitions, but they currently don't have any data.
For the second case, we can only consider it idle after a timeout threshold. It would be good to make this timeout user configurable besides a default value.