There is an issue with the new KafkaSource connector in Flink 1.14: when one task consumes messages from multiple topic partitions (statically created, timestamp are in order), it may start with one partition and advances watermarks before the data from other partitions come. In this case, the early messages in other partitions may unnecessarily be considered as late ones.
I discussed with Qingsheng Ren, it seems that the new KafkaSource only adds a partition into WatermarkMultiplexer when it receives data from that partition. In contrast, FlinkKafkaConsumer adds all known partition before it fetch any data.
Attached two files: the messages in Kafka and the corresponding TM logs.